作者:guoqiuping98_376 | 来源:互联网 | 2014-05-28 09:40
日志开启的方法是修改对于网站的conf文件,如/usr/local/nginx/conf/vhost/域名.conf,哦了,看下面的详细设置教程吧。nginx日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大
日志开启的方法是修改对于网站的conf文件,如/usr/local/
nginx/conf/vhost/域名.conf,哦了,看下面的详细设置教程吧。
nginx
日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,通俗的理解就是先用log_format来定义自己想用的日志格式,然后在用zccess_log定义虚拟主机时或全局日志时在把定义的log_format
跟在后面;
1、log_format 格式
log_format name( 格式名字)
格式样式(即想要得到什么样的日志内容)
默认的示例:
log_format
main
'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_s ent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
注释:
$remote_addr 与$http_x_forwarded_for
用以记录客户端的ip地址;
$remote_user :用来记录客户端用户名称;$time_local :
用来记录访问时间与时区; $request :
用来记录请求的url与http协议;$status :
用来记录请求状态;成功是200,$body_bytes_s ent
:记录发送给客户端文件主体内容大小;$http_referer
:用来记录从那个页面链接访问过来的;$http_user_agent
:记录客户毒啊浏览器的相关信息; 通常web服务器放在
反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是
反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址;
log_format
mylogformat ' $http_x_forwarded_for-
$remote_user [$time_local] '
' "$request" '$status $body_bytes_s ent '
' "$http_referer" "$http_user_agent" ';
上面这个是涨宴老师的日志例子;
2、用access_log指令日志文件存放路径;
用了log_format 指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径;
access_log
path(存放路径)
format (自定义日志名称)
示例:
#access_log
logs/access.log
main;
我们用log_format 定义了一个mylogformat的日志我们可以写成这样
access_log
logs/access.log
mylogformat ;
如果不想启用日志 :
access_log off ;
在定义日志目录中要注意的是,nginx进程设置的用户和组必须有对该路径
创建文件的权限,假设nginx的usr指令设置的用户名和用户组都是www,而logs
目录的用户名和组是root,那么日志文件将无法被创建;
3、nginx日志文件的切割:
[root@mgmserver logs]# ll
总计 48
-rw-r--r-- 1 root root 1891 09-02 14:59
192.168.0.28.access.log
-rw-r--r-- 1 root root 531 09-02 13:52
192.168.0.37.access.log
-rw-r--r-- 1 root root 531 09-02 13:52
192.168.0.38.access.log
[root@mgmserver logs]# mv 192.168.0.28.access.log
/tmp/nginx.28.log
[root@mgmserver logs]# kill -USR1 `cat
/usr/local/nginx/logs/nginx.pid `
[root@mgmserver logs]# ll
总计 36
-rw-r--r-- 1 nginx root 0 09-02 15:05
192.168.0.28.access.log
-rw-r--r-- 1 nginx root 531 09-02 13:52
192.168.0.37.access.log
-rw-r--r-- 1 nginx root 531 09-02 13:52
192.168.0.38.access.log
先把日志拷贝出来,然后想nginx发送信号 ,让nginx重新生成一个日志文件;
4、nginx的压缩输出配置
nginx的压缩输出由一组压缩指令来实现,gzip的压缩输出位于http {......}两个大括号之间;
gzip on;
gzip_min_length 1k;
gzip_buffers 416k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain
application/x-Javascript text/css application/xml;
gzip_vary on;
5、nginx自动列目录配置;
可以在 某一虚拟主机的location /{......}
目录中配置自动列目录,加上下面代码:
location . {
autoindex on;
autoindex_exact_size [on
|off] #设定索引时文件大小的单位
autoindex_localtime [on
|off ] #开启以本地时间来显示文件时间的功能,默认为关
}