将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 – $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的
参考文档:http://wiki.nginx.org/NginxHttpLogModule#open_log_file_cache又得到一个答案
解决方法:
将/usr/local/nginx/conf/nginx.conf 里server段里的下面代码移出放到该server段的前面即可。
代码如下 | 复制代码 |
log_format access '$remote_addr - $remote_user [$time_local] "$request" ' |
如果有其的虚拟主机开启了日志,也按上面的要求移出server段放在server段的前面即可。
再/usr/local/nginx/sbin/nginx -t 测试一下,没有warn警告信息了。
nginx提示的很明显了,要放到 http 层,而不是server层里
荒野乱斗国际版 (BrawlStars)最新版本v56.274
下载一波超人内置修改器菜单版 安卓版v1.0.2
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载继承了一座戏园子无限声望铜钱版 内置菜单最新版v1.7
继承了一座戏园子折相思版是游戏的破解版本,在该版本中为玩家提
山河半世橙光清软金手指版 无限鲜花v3.24
山河半世是一款超级好玩的橙光恋爱游戏,在游戏中玩家们需要扮演
蓬莱手游折相思版 安卓版v1.0.0
蓬莱免广告版是游戏的修改版本,在该版本中为玩家去除了广告,玩
当红影后橙光游戏破解版2025 最新版v1.0
当红影后橙光破解版是一款超级好玩的娱乐圈题材的橙光游戏,在这
忽然成了万人迷清软完结版 无限鲜花版v12.15
忽然成了万人迷破解版是一款非常好玩的男性向橙光游戏,在有一天