nginx新版本配置文件警告 the "log_format" directive may be used only on "http"

使用用新版本nginx的人不会对这个警告陌生吧

[[email protected] vhost]# /opt/webserver/nginx/sbin/nginx -t
nginx: [warn] the "log_format" directive may be used only on "http" level in /opt/path/nginx/conf/vVVhost/abc.kinggoo.com:38
nginx: the configuration file /opt/path/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/path/nginx/conf/nginx.conf test is successful

对于这个问题在我以前刚使用nginx的较新版本时就出现了这个问题,当时只是暂且处理掉这个警告,方法就是:把log_format和access_log、error_page放到server的外面(当然也可以注释掉),比如我之前就是放到外面,字体蓝色部分

[root@kinggoo vhost]# vim kinggoo.com
server { //这是server开始
listen 80;
server_name kinggoo.com
www.kinggoo.com;
….
…. 这里代表都是配置
….

} //这是server结束
log_format kinggoo.com ‘$remote_addr �C $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"’;
access_log /data0/nginx/weblogs/access_blog.kinggoo.com.log kinggoo.com;
error_page 500 502 503 504 404 403 /50x.html;

但这种办法有个坏处(md把access_log放在最外面了坏处能少么),只要有访问,不管你设置了多少个server的虚拟主机,只要有访问一个服务,马上全部的日志文件都会有变化,这样走的好笑之处就是你会发现日志文件一样大~

今天在另外一个机器上看,才发现日志都一样大,变化都一样的问题(自己机器懒得管这么多)。所以合计改改,下面是我这次的日志配置

[root@kinggoo vhost]# vim kinggoo.com
log_format kinggoo.com ‘$remote_addr �C $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"’;

server { //这是server开始
listen 80;
server_name kinggoo.com
www.kinggoo.com;
….
…. 这里代表都是配置
….

access_log /data0/nginx/weblogs/access_blog.kinggoo.com.log kinggoo.com;
error_page 500 502 503 504 404 403 /50x.html;

} //这是server结束

在去翻看一下日志变化吧

版权声明:

转载原创文章请注明,文章出处:http://kinggoo.com
原文地址:http://kinggoo.com/nginx-warn-log-format.htm


你可能感兴趣的:(server,File,配置文件,successful)