502 错误:Bad Gateway [nginx/1.4.7]
我正在配置一个django(1.6.5)项目,使用gunicorn和nginx服务器。这个项目在django自带的基本服务器上运行得很好,命令是 python manage.py runserver
。后来,我用gunicorn绑定了一个地址,命令是 gunicorn myproject.wsgi:application --bind=127.0.0.1:8001
。然后我在 /etc/nginx/nginx.conf
文件中进行了配置。当我重启nginx服务器,并在浏览器中输入 localhost:8080
时,出现了 502 Bad Gateway
的错误。这是我哪里出错了呢?
这是我的 nginx.conf
配置代码:
server {
listen 8080;
server_name localhost;
access_log /var/log/nginx/example.log;
location / {
proxy_pass http://127.0.0.1:8001;
}
}
更新:
在错误日志文件中:error_log /var/log/nginx/example.error.log;
我看到以下内容:
2014/05/29 13:13:08 [crit] 6701#0: *1 connect() to 0.0.0.0:8001 failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "http://0.0.0.0:8001/", host: "localhost:8080"
任何帮助都将不胜感激。
2 个回答
0
它显然是在期待一个 HTTP(而不是 WSGI)处理程序在 8001 端口上。你可以在这里了解更多关于 Nginx 和 WSGI 配置的内容:http://uwsgi-docs.readthedocs.org/en/latest/Nginx.html
1
我通过把我现在在 Fedora 系统上使用的用户名设置为 nginx
的工作用户,解决了之前的问题。我在 /etc/nginx
目录下的 nginx.conf
文件的顶部找到了这个用户。我现在在 Linux 环境中以 user
的身份工作,然后把 nginx.conf
文件里的用户名 nginx
替换成了 user
。就这样,我的问题解决了。