利用Apache搭建最好的网络环境

Apache作为网站运行的开发一大利器,其优越的性能与nginx不相上下,可谓是网站运行环境必不可缺的。今天这里介绍的是针对于Apache的日志优化,分为Windows版本跟linux版本,博主还是强力推荐部署的是linux+Apache

首先是要启用Apache的日志切割插件

1
2
3
4
5
rotatelogs说明:
rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]
rotationtime指的是设定多少秒后进行日志切割,如这里的300秒,在设定的时间之后系统将自动切割日志;
offset指的是日志时间的偏移量,如果不设置该偏移量,则默认为0,且显示的时间与北京时间会不一样,与北京时间相差8个小 时,故建议将其设置为+480,单位为分钟;
filesizeM指的是日志多大之后自动切割,可接受的单位为K,M,G,上面的ErrorLog设置为400M之后自动切割日志

Linux系统配置方法:

1
2
3
4
5
6
7
8
9
10
11
12
将ErrorLog | CustomLog这两句话注释掉
改成:
ErrorLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480" //86400 可以改为 大小2M
CustomLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common

注:/usr/local/apache/bin/rotatelogs这里的这个是Apache安装后rotatelogs的真实路径
*************************************
** 此处放上宝塔下Apache的文件切割示例 **
*************************************
ErrorLog "| /www/server/apache/bin/rotatelogs /www/wwwlogs/%Y_%m_%d_error_log 86400 480"
CustomLog "| /www/server/apache/bin/rotatelogs /www/wwwlogs/%Y_%m_%d_access_log 86400 480" common
*************************************

Windows系统配置方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
开启日志模块:
LoadModule log_config_module modules/mod_log_config.so ; # 去除前面分号

//1、找到以下行 注释,配置错误日志
ErrorLog "logs/error.log"
//替换为(选一个使用):
ErrorLog "|bin/rotatelogs.exe logs/error-%Y-%m-%d.log 86400 +480 2M" #//文件2M 大小分割
ErrorLog "|bin/rotatelogs.exe logs/vicp_net_error-%y%m%d.log 86400 +480" #//不限制文件大小

//2、找到以下行 注释,配置进程日志 #
CustomLog "logs/access.log" common
//替换为(选一个使用):
CustomLog "|bin/rotatelogs.exe logs/%Y_%m_%d.access.log 86400 +480 2M" common #//文件2M 大小分割
CustomLog "|bin/rotatelogs.exe logs/%Y_%m_%d.access.log 2M" common # 按照文件2M 大小分割

第一次不知道设置480这个参数,导致日志记录时间和服务器时间相差8小时,原来是rotatelogs有一个offset参数,表示相对于UTC的时差分钟数,中国是第八时区,相差480分钟。86400是表示1天。