• 欢迎访问MACD实战投资网站,推荐使用最新版谷歌Chrome浏览器访问本网站,关注公众号 丁火甲木庚金 www.macd11.com/subscriptions

(原创)Nginx升级到1.2.0版本后出现的报错nginx: [warn] the “log_format” directive may be used only on “http” level解决方法

原创总结 丁火 13年前 (2012-05-15) 3917次浏览 0个评论

PS:近来工作忙,很久没上去本博的VPS,刚才找空上去整理一下,顺便update一些软件包,目前Nginx的最新稳定版本是1.2.0,升级到这个版本后,重启nginx出现如下报错

根据报错信息,意思是这段配置:

log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';

只能放到http{}里面,而不能放到server{}里面。为啥会这样?只有一个解释,就是nginx的作者在这个版本把这段日志格式配置的语法做了修改!

解决方法

把上面log_format的日志格式配置移出server{}放在http{}里面,但要在server{}的外面。这样就OK。如果你的配置里面还有类似:
access_log /var/log/nginx/access.log access;
这样的日志文件路径配置,也跟着一样迁移!否则还会报错

问题完全解决,如下图:

最后说一句:生产环境升级软件包要谨慎,必须要经过严格测试。我这个VPS自己玩的,折腾没事。


macd11.com 和 丁火甲木庚金 公众号版权所有丨如未注明 , 均为原创丨转载请注明原文链接。
喜欢 (0)
[sp91@qq.com]
分享 (0)

您必须 登录 才能发表评论!