我正在我的django
项目nginx
和gunicorn
工作,正如它在此处所说:
我的网站在本地运作,但当我启动nginx
和gunicorn
服务器时,我有
502 Bad Gateway错误。
操作系统为UBUNTU 14.04
我正在尝试让我的项目工作,并以root身份重新安装所有内容(我知道它很糟糕) - 同样的错误。
这是我的“error.log”:
2016/04/20 20:15:10 [暴击] 10119#0:* 1连接()到
unix:/root/myproject/myproject.sock失败(13:权限被拒绝) 连接到上游时,客户端:46.164.23
当我执行命令“nginx
”时:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
我的gunicorn.conf
description "Gunicorn application server handling myproject"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid root
setgid www-data
chdir /root/myproject
exec myprojectenv/bin/gunicorn --workers 3 --bind unix:/root/myproject/myproject.sock myproject.wsgi:application
多数民众赞成我的“/ etc / nginx / sites-available / myproject”
server {
listen 80;
server_name www.mysite.ru;
error_log /nginx_error.log;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /root/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/root/myproject/myproject.sock;
}
}
非常感谢你的帮助!!!
答案 0 :(得分:1)
proxy_pass http://unix:/root/myproject/myproject.sock;
套接字位于超级用户的主文件夹中。对于包括您的nginx用户在内的所有其他用户来说,这几乎是无法访问的。请将插座更多地连接到其他位置。 / var / log / gunicorn /是一个好地方。
我也看到你以root身份运行gunicorn吗?不建议。
setuid root
请在此处使用其他用户。
答案 1 :(得分:0)
根据您的nginx错误日志,我认为您还有其他使用端口80的进程。
你必须弄清楚那个过程是什么,如果不需要就杀掉它。或者使用另一个端口。