科技常识:nginx: [warn] "log_format" directive used only on "http" level 解决方法

2021-03-26 16:54:42
导读 今天小编跟大家讲解下有关科技常识:nginx: [warn] "log_format" directive used only on "http" level 解决方法,相信小伙伴们对

今天小编跟大家讲解下有关科技常识:nginx: [warn] "log_format" directive used only on "http" level 解决方法,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:nginx: [warn] "log_format" directive used only on "http" level 解决方法的相关资料,希望小伙伴会喜欢也能够帮助大家。

将nginx升级到1.2.4稳定版之后,会发现之前的vhost/*.conf中的日志配置都报了如下的warn:复制代码 代码如下:nginx: [warn] the “log_format” directive may be used only on “http” level上网搜索解决方案如下:将/vhost/xxx.conf里server段里的下面代码移出该server段即可。

但是这样的又会产生一个问题,就是各子域名的日志文件都会记录所有请求的日志,等了好久都没找到解决方案,后来请教了飞飞之后终于找到解决的方法了。

原来log_format需要在nginx.conf的http层定义,然后在分域名下面就不用定义log_format,直接引用即可,即:

在nginx.conf中http层添加:复制代码 代码如下:log_format Main ‘$remote_addr C $remote_user [$time_local] “$request” ‘‘$status $body_bytes_sent “$http_referer” ‘‘”$http_user_agent” $http_x_forwarded_for $request_time';然后在vhost/*.conf中server中直接写:复制代码 代码如下:access_log ./logs/blog.log Main;但是注意include vhost/*.conf要放在log_format之后哦,不然会找不到Main的

来源:爱蒂网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章