论坛风格切换
  • 7204阅读
  • 2回复

[nginx]启动nginx时几种常见错误 [复制链接]

上一主题 下一主题
离线太史慈
 

发帖
766
金币
626
威望
556
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-07-10
首先一般我们使用/alidata/server/nginx/sbin/nginx来启动nginx,但这时却报错了
  1. nginx: [emerg] duplicate "log_format" name "main" in /alidata/server/nginx/conf/nginx.conf:117

我们打开nginx配置文件,它的结构是
  1. http {
  2. server {
  3.   web站点1
  4. }
  5.   
  6. server {
  7. web站点2
  8. }
  9.   
  10. server {
  11. web站点3
  12. }
  13. }

我们检查一下配置文件里面有几个server {
每个web站点会配有一个log_format
就是日志
  1. log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  2.                '$status $body_bytes_sent "$http_referer" '
  3.                '"$http_user_agent" "$http_x_forwarded_for"';
  4. access_log  /alidata/server/nginx/logs/access.log  main;

日志的名字,main,是不能重复的,日志的文件名access.log,也最好不要重复

遇到上面那种错误,就是因为名字重复了,改下名字就好。

[url=http://www.phpwind.com]phpwind[/url]
离线太史慈

发帖
766
金币
626
威望
556
只看该作者 沙发  发表于: 2011-07-10
nginx: [emerg] unknown "path_info" variable
修改了上面那个,又出现一个错误
  1. nginx: [emerg] unknown "path_info" variable


这是因为nginx配置支持php的pathinfo模式配置方法配置错了。
找到类似一段
  1.     location ~ .*\.(php|php5)?$
  2.     {      
  3.         #fastcgi_pass  unix:/tmp/php-cgi.sock;
  4.         fastcgi_pass  127.0.0.1:9000;
  5.         fastcgi_index index.php;
  6.         include fastcgi.conf;
  7.     }

改成
  1.     location ~ .*\.(php|php5)?$
  2.     {      
  3.         #fastcgi_pass  unix:/tmp/php-cgi.sock;
  4.         fastcgi_pass  127.0.0.1:9000;
  5.         fastcgi_index index.php;
  6.         include fastcgi.conf;
  7.         set $path_info $2;
  8.     }


保存重启就好了,不过这个方法貌似不太好,期待有更好的方法。
[url=http://www.phpwind.com]phpwind[/url]
离线太史慈

发帖
766
金币
626
威望
556
只看该作者 板凳  发表于: 2011-07-12
如何检查nginx配置文件
  1. /alidata/server/nginx-1.0.4/sbin/nginx  -t
[url=http://www.phpwind.com]phpwind[/url]
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
提到某人:
选择好友
上一个 下一个