• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

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

原创总结 博客教主 12年前 (2012-05-15) 3877次浏览 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自己玩的,折腾没事。


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:(原创)Nginx升级到1.2.0版本后出现的报错nginx: [warn] the “log_format” directive may be used only on “http” level解决方法
喜欢 (0)

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