Nginx升级到1.2.0出错解决方法

2012年05月16日 Linux服务器 评论 4 条 阅读 9,427 views 次

目前Nginx的最新稳定版本是1.2.0,升级到这个版本后,重启nginx出现如下报错

Starting nginx: nginx: [warn] the "log_format" directive may be used only on "http" level in /etc/nginx/conf.d/virtual.conf:41

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

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自己玩的,折腾没事。

转自:http://www.ha97.com/4607.html

4 条留言  访客:2 条  博主:2 条

  1. 飞哥,我们的vps上升级了吗?

  2. 哦,我的貌似升级顺利,但是用的是LNMP的一键包

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录