命令行导入数据库(windows?)

命令行导入数据库: 

1,进入MySQL:mysql -u 用户名 -p 

如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码) 

2,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库 

3,输入:mysql>use 目标数据库名 

如我输入的命令行:mysql>use news; 

4,导入文件:mysql>source 导入的文件名; 

如我输入的命令行:mysql>source news.sql(如果在bin目录下用相对路径名,如果在其他目录下用绝对目录名); 

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

Apache配置压缩优化时报错——undefined symbol: inflateEnd

问题处理办法:
1、首先检查了httpd.conf和httpd-vhosts.conf里面的配置,均无错误;然后又查看了编译mod_deflate时的输出信息,也没有提示错误。
2、我百度了inflateEnd,第一个就是搜索条目就是zlib的百度百科,然后我就去google搜索inflateEnd,搜索条目告诉我inflateEnd是属于zlib.lib库文件里面的。
3、 接着我在google下面找到了以前也遇到过相似问题的人,他们是在apr的主配置文件apr-1-config(老版本可能是apr-conf)里面将 LDFLAGS=”” 修改为 LDFLAGS=”-lz”,然后用apxs从新编译mod_deflate.c后,apache服务就正常了,并且也可以正常压缩文件了。
该问题的另一种解决办法:
需要在 LoadModule deflate_module  modules/mod_deflate.so 的前面加载zlib.so
如果是32操作系统就在LoadModule deflate_module    modules/mod_deflate.so这行的上一行添加LoadFile /usr/lib/libz.so即可。
如果是64操作系统就在LoadModule deflate_module    modules/mod_deflate.so这行的上一行添加LoadFile /usr/lib64/libz.so即可。

Apache的静态编译与动态编译详解

静态:

在使用./configure 编译的时候,如果不指定某个模块为动态,即没有使用:enable-mods-shared=module或者enable-module=shared 这个2个中的一个,那么所有的默认模块为静态。 那么何谓静态?  其实就是编译的时候所有的模块自己编译进 httpd 这个文件中(我们启动可以使用这个执行文件,如: ./httpd & ) ,启动的时候这些模块就已经加载进来了,也就是可以使用了, 通常为:<ifmodule> </ifmodule> 来配置。所以大家看到的配置都是 <ifmodule  module.c>  ,很显然,module.c这个东西已经存在 httpd这个文件中了。

动态:

就是编译的时候,使用enable-module=shared 或者enable-modules-shared=module 来动态编译。  那么什么是动态?  静态是直接编译进httpd中, 那么动态显然就不编译进去了,也就是你启动的时候根本不会加载这个模块, 而是给你一个module.so 文件,你一定要使用 loadmodule 这个语法来加载,这个模块才有效。

那么区别就出来了:静态的模块通常是<ifmodule></ifmodule> 来配置, 动态使用loadmoule来加载,然后再配置。

至于性能方面我没怎么关注, 官方说静态的比动态的在性能方面多5%左右。

动态相对方便一点, 如果你编译完后,发现有些需要的模块你没编译进去(默认编译多少模块呢?你用./configure –help | grep disable查看, 会让你去disable表示默认会编译进去,否者disable有什么用呢?)你可以动态的加载, 只要你有module.so文件。

首先看看编译apache的选项含义

对于apache 1.3.x

./configure –prefix=/usr/local/apache –enable-module=so –enable-module=most  –enable-shared=max –enable-module=rewrite

对于apache 2.0.x

./configure –prefix=/usr/local/apache2 –enable-modules=most –enable-mods-shared=all –enable-so –enable-rewrite

对于apache 2.2.0

./configure –prefix=/usr/local/apache2 –enable-mods-shared=all –enable-so –enable-rewrite

举例一:编译一个apache2.2.8版本

./configure –prefix=/usr/local/apache –enable-so –enable-mods-shared=most –enable-rewrite –enable-forward

说明:

so模块用来提供 DSO 支持的 apache 核心模块.

–enable-so 选项:让 Apache 可以支持DSO模式,注意,这里采用的是 Apache2.0 的语法。如果你的Apache 是1.3版本,应改为–enable-module=so

–enable-mods-shared=most选项:

告诉编译器将所有标准模块都动态编译为DSO模块。

如果用的是 Apache1.3, 改为–enable-shared=max就可以。

–enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为–enable-module=rewrite

–enable-module=most

用most可以将一些不常用的,不在缺省常用模块中的模块编译进来.

–enable-mods-shared=all意思是动态加载所有模块,如果去掉-shared话,是静态加载所有模块.

举例二:

执行

./configure –prefix=/server/apache/ –enable-deflate=shared –enable-headers=shared –enable-rewrite=shared –enable-mods-shared=most

–enable-mods-shared=all意思是动态加载所有模块,如果去掉-shared话,是静态加载所有模块。

–enable-mods-shared=most则是动态编译大部分常用的模块,当然,也可以有选择的加载一些模块,most意思是只包含通常用的模块,并且以动态加载模式加载. 记住apache1.xx和apache2.xx的模块编译写法是不一样的.

下面我来说说上面几种模块的作用:

deflate模块作用为让服务器实现gzip功能,可以大大降低服务器的带宽消耗。(为什么这么说,我来说给你听,比如一个大小为700KB的网页,但是通过压缩功能,我们把压缩到70KB,然后吧压缩到的70KB传到WEB客户端,实际上这不就是降低带宽的消耗吗?)但是却有个致命的缺点,那是以消耗服务器的CPU,内存资源为代价的。

注:

apache1.xx版本中这个模块名叫mod_gzip模块,在apache2.xx中才被deflate模块所替代。

headers功能如上,跟deflate配套使用。

rewrite这个模块的作用很重要,防盗链几乎全靠它了。

为了有什么这么一条,我前面还要加载那3个模块呢,其实也没什么,当时只是担心那3个模块不在“通用”范畴内,所有手动添加了。就加着吧,反正没任何问题。

这里我来解释下什么叫动态加载和静态加载?

说简单,并用打比喻的方式来解释。

好比有两个人a和m
a代表apache,m代表module
要想让a使用m的东西
一个方法是把m的东西都放到a那里去,a使用的时候就是现成的了
就是所谓的静态编译

还有一个方法,
就是告诉a, m的住址,当a要使用m的东西的时候,a去找m,然后使用
不过,这种方法要注意的一个问题就是:m必须要有实际的住址,
否则a会找不到m而产生错误的,我此文开始提到的 apachectl startssl产生
的错误就是这个原因,应该再编译好ssl才可以的.
这种方法也就是apache 的动态(DSO)编译了.

作者:南非蚂蚁

注:本文的—prefix里面的符号是两个短杆啊,有Linux基础的童鞋都知道的。这应该是WordPress的Bug,老是把后台的两个短杆在前台显示成一个长杆了。

apache2.4 启用压缩模块mod_deflate

网站随着用户访问量的增加和内容量的增加,网站的带宽会不断的增加,随之就是网站成本的增加。并且当内容量增大的时候,客户端如果带宽小,就会影响用户的体验。因此从这两方面考虑,网站的某些内容必须经过压缩之后再传给用户,然后在用户客户端进行解压,来实现双方共赢的效果。

apache的压缩要用到mod_deflate模块,该模块提供了DEFLATE输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。它的核心思想就是把文件先在服务器进行压缩,然后再进行传输,这样可以显著减少文件传输的大小。当传输完毕后,客户端游览器会重新对压缩过的内容进行解压缩。如果没特殊情况的话,所以的文本内容都应该能被gzip压缩,例如:html(php),js,css,xml,txt等。特殊情况就是像一些首页上有很多广告投放的js代码,由于需要每次加载进而进行来访信息统计,所以这些广告代码拥有者网站的js不会经过gzip压缩,

mod_deflate模块,在我们前篇部署的时候已经编译安装进去了。

那么如果没有安装,如何安装呢?并且如果不知道到是否安装了,如何查看呢?

1、mod_deflate模块检查及安装

由于apache2.2.x和2.4.x这两个版本在检查mod_deflate模块是否安装方法方法是不同的。最后,我无奈做了很多测试,下面建议大家这样来检查。

 

1.[root@c64-web /]# /usr/local/apache/bin/apachectl -M | grep deflate
2.deflate_module (static)  #此种结果为编译安装时装的
3.[root@c64-web /]# /usr/local/apache/bin/apachectl -M | grep deflate
4.deflate_module (shared)  #此种结果为DSO方式安装的

安装了的话,就可以直接进行压缩配置了,如果没有安装,下面为安装方法

a)编译时安装方法

编译的时候跟上–enable-deflate即可实现安装

b)DSO方式安装

[root@bruce filters]# /usr/local/httpd2.4.18/bin/apxs -c -i -a mod_deflate.c

如果错误:    mod_deflate.c:51:18: error: zlib.h: No such file or directory

[root@bruce filters]# yum install zlib-devel

重新执行:[root@bruce filters]# /usr/local/httpd2.4.18/bin/apxs -c -i -a mod_deflate.c

[root@c64-web filters]# ll /usr/local/apache/modules/mod_deflate.so   #检查mod_deflate是否安装,成功安装这里会显示出该文件

-rwxr-xr-x 1 root root 76697 11月  5 07:50 /usr/local/apache/modules/mod_deflate.so

扩展:使用DSO方式安装,apxs后跟的参数详解

1.-c  此选项表明需要执行编译操作。它首先会编译c源程序(.c)files为对应的目标代码文件(.c),然后连接这些目标代码和files中其余的目标代码文件(.c和.a),以生成动态共享对象dsofile。如果没有指定-s选项,则此输出文件名由files中的第一个文件名推测得出,也就是默认mod_name.so。
2.-i  此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录。
3.-a  此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
4.压缩模块配置

2、配置压缩参数

apache2.4开启gzip压缩

34

LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
<ifmodule mod_deflate.c>
     DeflateCompressionLevel 9
     AddOutputFilterByType   DEFLATE text/html text/plain text/xml application/x-httpd-php
     AddOutputFilter         DEFLATE  html  htm  xml  php  css  js
</ifmodule>

查看Linux下系统资源占用常用命令(top.free.uptime)

一,top命令

1.作用
top命令用来显示执行中的程序进程,使用权限是所有用户。

2.格式
top [-] [d delay] [q] [c] [S] [s] [i] [n]

3.主要参数
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出top。

ffa86f37447684fcf7e8257649ecd436

图1 top命令的显示

在图1中,第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多,下面列出了详细解释。

PID(Process ID):进程标示号。
USER:进程所有者的用户名。
PR:进程的优先级别。
NI:进程的优先级别数值。
VIRT:进程占用的虚拟内存值。
RES:进程占用的物理内存值。
SHR:进程使用的共享内存值。
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
%CPU:该进程占用的CPU使用率。
%MEM:该进程占用的物理内存和总内存的百分比。
TIME+:该进程启动后占用的总的CPU时间。
Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
<空格>:立刻刷新。
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

二、free命令

1.作用
free命令用来显示内存的使用情况,使用权限是所有用户。

2.格式
free [-b-k-m] [-o] [-s delay] [-t] [-V]

3.主要参数
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。

4.应用实例
free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。
#free -b -s5

使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。

ffa86f37447684fcf7e8257649ecd436_thumb

三、uptime 命令
在linux系统中,有一种说法,当load avarage <3 系统良好,大于5 则有严重的性能问题。注意,这个值还应当除以CPU数目。

如果load avarage=8 ,CPU=3,8/3=2.666,2.66这个值表示系统状态良好
大于5也不一定是严重性能问题,有可能是的确主机提供的服务超过了他能够提供的能力,需要扩容了。要具体看看。

另外,在linux下查看系统资源的占用情况,还有二个命令,它们分别是:vmstat 与 iostat 。有兴趣的朋友,也可以研究下。

linux中uptime命令

uptime命令是用来查询linux系统负载的!

用法:直接输入uptime即可.

另外还有一个参数  -v(大写)

是用来查询版本的

[root@ localhost]$ uptime –V(大写)
procps version 3.2.7

以下显示输入uptime的信息:

04:03:58 up 10 days, 13:191 user,  load average: 0.54, 0.40, 0.20

1.当前时间  04:03:58

2.系统已运行的时间 10 days, 13:19

3.前在线用户  1 user

4.平均负载:0.54, 0.40, 0.20

最近1分钟、5分钟、15分钟系统的负载

何为系统负载呢?

uptime命令是用来查询linux系统负载的!

用法:直接输入uptime即可.

另外还有一个参数 -v

是用来查询版本的

[root@ localhost]$ uptime –V
procps version 3.2.7

以下显示输入uptime的信息:

04:03:58 up 10 days, 13:19, 1 user, load average: 0.54, 0.40, 0.20

1.当前时间 04:03:58

2.系统已运行的时间 10 days, 13:19

3.但前在线用户 1 user

4.平均负载:0.54, 0.40, 0.20

最近1分钟、5分钟、15分钟系统的负载

何为系统负载呢?

系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中:
– 它没有在等待I/O操作的结果
– 它没有主动进入等待状态(也就是没有调用’wait’)
– 没有被停止(例如:等待终止)

一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内核,也就是如果你的主机是四核cpu的话,那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.

当然如果达到20,那就表示当前系统负载非常严重,估计打开执行web脚本非常缓慢.

这里建议大家可以使用php探针来实现!这个可以检测空间商提供的linux主机负载情况!

★ps进程管理
[root@localhost ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jul02 ?        00:00:06 init [5]
root         2     1  0 Jul02 ?        00:00:00 [migration/0]
root         3     1  0 Jul02 ?        00:00:00 [ksoftirqd/0]
root         4     1  0 Jul02 ?        00:00:00 [watchdog/0]
root         5     1  0 Jul02 ?        00:00:00 [migration/1]
root         6     1  0 Jul02 ?        00:00:00 [ksoftirqd/1]
root         7     1  0 Jul02 ?        00:00:00 [watchdog/1]
root         8     1  0 Jul02 ?        00:00:00 [migration/2]
root         9     1  0 Jul02 ?        00:00:00 [ksoftirqd/2]

-e : 在命令执行后显示环境
-f : 完整显示输出
1) 进程用户ID(UID)
2) 进程ID (PID)
3) 父进程ID (PPID)
4) CPU 调度情况 (C)
5) 进程启动的时间 (STIME)
6) 进程共占用CPU的时间(TIME)
7) 启动进程的命令 (CMD)

★关于/proc/uptime
/proc/uptime文件里包含两个数字,如:

[root@localhost ~]# cat /proc/uptime
1232468.44 1111331.67

第一个数值代表系统总的启动时间,第二个数值则代表系统空闲的时间,都是用秒来表示的。如果系统里第二个数字比第一个数字还要大,则说明你的cpu是多核的,cpu0上闲了一秒, cpu1上闲了两秒,加起就是三秒。。

Apache的worker和prefork模式比较

Apache worker & prefork 选择prefork还是worker可以在编译时使用–with-mpm=MPM参数指定,默认为prefork, prefork prefork采用预派生子进程方式,用单独的子进程来处理 不同的请求,进程之间彼此独立。在make编译…

选择prefork还是worker可以在编译时使用–with-mpm=MPM参数指定,默认为prefork,
prefork
prefork采用预派生子进程方式,用单独的子进程来处理 不同的请求,进程之间彼此独立。在make编译和make install安装后,使用httpd -l来确定当前使用的MPM是prefork.c。查看httpd-mpm.conf配置文件,里面包含如下默认的配置段:
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
prefork 控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两 个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止。这种模式 可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。MaxSpareServers设置了最大的空闲进程数,如果空闲进程数大于这个 值,Apache会自动kill掉一些多余进程。这个值不要设得过大,但如果设的值比MinSpareServers小,Apache会自动把其调整为 MinSpareServers+1。如果站点负载较大,可考虑同时加大MinSpareServers和MaxSpareServers。 MaxRequestsPerChild设置的是每个子进程可处理的请求数。每个子进程在处理了“MaxRequestsPerChild”个请求后将自 动销毁。0意味着无限,即子进程永不销毁。虽然缺省设为0可以使每个子进程处理更多的请求,但如果设成非零值也有两点重要的好处:1、可防止意外的内存泄 漏。2、在服务器负载下降的时侯会自动减少子进程数。因此,可根据服务器的负载来调整这个值。MaxClients是这些指令中最为重要的一个,设定的是 Apache可以同时处理的请求,是对Apache性能影响最大的参数。其缺省值150是远远不够的,如果请求总数已达到这个值(可通过ps -ef|grep http|wc -l来确认),那么后面的请求就要排队,直到某个已处理请求完毕。这就是系统资源还剩下很多而HTTP访问却很慢的主要原因。虽然理论上这个值越大,可以 处理的请求就越多,但Apache默认的限制不能大于256。ServerLimit指令无须重编译Apache就可以加大MaxClients。
<IfModule prefork.c>
ServerLimit 10000
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 10000
MaxRequestsPerChild 0
</IfModule>
Worker
相对于prefork,worker全新的支持多线程和多进程混合模型的MPM。由于 使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker也使用了多进程,每个进程又生成多个线程,以 获得基于进程服务器的稳定性。在configure –with-mpm=worker后,进行make编译、make install安装。在缺省生成的httpd-mpm.conf中有以下默认配置段:
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
Worker 由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的ThreadsPerChild线程数,各个线程独立地处理请求。同样, 为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线程数;而MaxClients 设置了同时连入的clients最大总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。MinSpareThreads和 MaxSpareThreads的最大缺省值分别是75和250。这两个参数对Apache的性能影响并不大,可以按照实际情况相应调节。 ThreadsPerChild是worker MPM中与性能相关最密切的指令。ThreadsPerChild的最大缺省值是64,如果负载较大,64也是不够的。这时要显式使用 ThreadLimit指令,它的最大缺省值是20000。Worker模式下所能同时处理的请求总数是由子进程总数乘以ThreadsPerChild 值决定的,应该大于等于MaxClients。如果负载很大,现有的子进程数不能满足时,控制进程会派生新的子进程。默认最大的子进程总数是16,加大时 也需要显式声明ServerLimit(最大值是20000)。需要注意的是,如果显式声明了ServerLimit,那么它乘以 ThreadsPerChild的值必须大于等于MaxClients,而且MaxClients必须是ThreadsPerChild的整数倍,否则 Apache将会自动调节到一个相应值。
<IfModule worker.c>
ServerLimit 25
ThreadLimit 200
StartServers 3
MaxClients 2000
MinSpareThreads 50
MaxSpareThreads 200
ThreadsPerChild 100
MaxRequestsPerChild 0
</IfModule>
下面是利用Apache自带的测试工具ab对Server进行测试的情况(设定请求的index页面为6bytes),cpu%为cpu占用率,mem为内存使用量(M为单位),RequestsPerSecond为每秒处理的请求数。
1、Prefor方式
(ServerLimit,StartServer,MinSpareServers,MaxSpareServers,MaxClients,MaxRequestPerChild)
-n/-c(ab参数) Cpu% Mem
Requestspersecond
(-,5,5,10,150,0)
100000/100 28.8 285 8434
100000/200 29.2 304 8032
100000/500 25.3 323 7348
100000/1000 24.4 330 5886
(10000,5,5,10,500,0)
100000/100 28.7 371 8345
100000/200 27.4 389 7929
100000/500 24.9 417 7229
100000/1000 23.4 437 6676
(10000,5,5,10,1000,0)
100000/100 28.8 408 8517
100000/200 27.0 422 8045
100000/500 24.2 455 7236
100000/1000 22.5 470 6570
(10000,5,5,10,1500,0)
100000/100 29.6 330 8407
100000/200 28.1 349 8014
100000/500 26.4 380 7290
100000/1000 24.0 400 6686
2、Worker方式
(ServerLimt,Threadlimt,Startservers,MaxClients,MinspareThread,MaxspareThread,ThreadperChild,MaxRequestPerChild)
-n/-c(ab参数) cpu% mem RequestsperSecond
(50,500,5,10000,50,200,200,0)
100000/100 18.6 188 6020
100000/200 20.1 195 5892
100000/500 19.8 209 5708
100000/1000 22.2 218 6081
(100,500,5,10000,50,200,100,0)
100000/100 24.5 240 6919
100000/200 23.6 247 6798
100000/500 24.6 254 6827
100000/1000 22.3 271 6114
(200,500,5,10000,50,200,50,0)
100000/100 27.3 301 7781
100000/200 27.4 307 7789
100000/500 26.0 320 7141
100000/1000 21.8 344 6110
相对来说,prefork方式速度要稍高于worker,然而它需要的cpu和memory资源也稍多于woker。

apache日志轮询

[root@bruce httpd2.4.18]# cd /home/bruce/tools/
[root@bruce tools]# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

[root@bruce tools]# tar zxvf cronolog-1.6.2.tar.gz

[root@bruce cronolog-1.6.2]# ./configure

[root@bruce cronolog-1.6.2]# make

[root@bruce cronolog-1.6.2]# make install

[root@bruce cronolog-1.6.2]# vi /etc/httpd2.4.18/extra/httpd-vhosts.conf

<VirtualHost *:80>
ServerAdmin 1340618494@qq.com
DocumentRoot “/usr/local/httpd2.4.18/htdocs/blog”
ServerName blog.etiantian.org
ServerAlias etiantian.org
ErrorLog “logs/blog-error_log”
#CustomLog “logs/blog-access_log” common
CustomLog “|/usr/local/sbin/cronolog /app/logs/access_www_%Y%m%d.log” combined
</VirtualHost>

web目录和文件权限的配置等

[root@bruce httpd2.4.18]# ll -l /usr/local/httpd/htdocs/
total 8
drwxr-xr-x. 2 root root 4096 Jan 31 14:31 blog
-rw-r–r–. 1 root root   45 Jun 12  2007 index.html

目录755,文件644.是最安全的设定。上传文件单独设置上传服务器

 

三位数字代表9位的权限,分成3部分,第一部分3位表示所有者的权限,第二部分3位表示同组用户权限,第三部分3位表示其他用户权限,r代表读取权限等于4,w代表写入权限等于2,x代表执行权限等于1。

比如777,第一位7等于4+2+1,所以就是rwx,所有者有读取、写入、执行的权限,第二位7也是4+2+1,rwx,同组用户具有读取、写入、执行权限,第三位7,代表其他用户有读取、写入、执行的权限。

比如744,第一位7等于4+2+1,rwx,所有者具有读取、写入、执行权限,第二位4等于4+0+0,r–,同组用户只有读取权限、第三位4,也是r–,其他用户只有读取权限。