nginx django uwsgi 502坏网关
我正在尝试使用nginx和uwsgi在ubuntu14.04服务器64位上部署我的django web应用程序。我遵循了教程,但我得到了一个502坏网关错误 我采取了以下步骤:nginx django uwsgi 502坏网关,django,nginx,uwsgi,Django,Nginx,Uwsgi,我正在尝试使用nginx和uwsgi在ubuntu14.04服务器64位上部署我的django web应用程序。我遵循了教程,但我得到了一个502坏网关错误 我采取了以下步骤: 已安装的依赖项和虚拟环境 使用uwsgi命令尝试了django webapp: uwsgi--http:8001--home/home/pnb/pnb--chdir/home/pnb/pnb/pnb-w pnb.wsgi 在目录/etc/uwsgi/sites中创建pnb.ini文件: [uwsgi] project =
uwsgi--http:8001--home/home/pnb/pnb--chdir/home/pnb/pnb/pnb-w pnb.wsgi
/etc/uwsgi/sites
中创建pnb.ini文件:project = pnb # Virtual environment name in home directory
base = /home/pnb # Home directory path
chdir = /home/pnb/pnb # Virtual Env Directory
home = /home/pnb/pnb/pnb #Django Project Directory with manage.py
module = pnb.wsgi:application # project name
master = true
processes = 5
socket = /home/pnb/pnb/pnb/pnb.sock
chmod-socket = 664
vacuum = true
/etc/init/uwsgi.conf
/etc/nginx/sites/available/pnb
:
上游django{
服务器unix:/home/pnb/pnb/pnb/pnb/pnb.sock;
}
服务器{
听80;
服务器名称pnb.com;#IP地址或FQDN
location /static/ {
root /home/pnb/pnb/pnb;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/home/pnb/pnb/pnb/pnb.sock;
}
}502坏网关
错误
有nginx错误日志:
2016/06/12 06:30:10 [crit] 12517#0: *4 connect() to unix:/home/pnb/pnb/pnb/pnb.sock failed (2: No such file or directory) while connecting to upstream, client: 106.218.89.140, server: pnb.com, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/home/pnb/pnb/pnb/pnb.sock:", host: "pnb.com"
如何更正此错误
编辑:
现在我已经检查了pnb.sock文件并没有在目录中创建。它是否必须与文件权限有关
同样的配置也适用于我的另一个项目。在ubuntu上,惯例是在目录
/var/run/
中创建套接字。你可以把它放在任何地方,但是你必须注意权限是正确的。连接到套接字的两个进程都必须具有对套接字文件的读写访问权限和对目录(以及所有父进程)的rx
权限。我假设uWSGI将在启动应用程序时创建套接字。@HåkenLid这是我使用上述教程进行的第二次部署。它第一次工作时没有任何错误。这一次只是它把这个错误抛给了我。我尝试在pnb.conf中将权限更改为666,但仍然不工作,并且在启动uWSGI时没有收到错误消息sudo服务uwsgi start
@HåkenLid No.uwsgi和nginx在启动时不会抛出任何错误。我还尝试将socket目录更改为/var/run。在ubuntu上仍然不工作,惯例是在目录/var/run/
中创建套接字。你可以把它放在任何地方,但是你必须注意权限是正确的。连接到套接字的两个进程都必须具有对套接字文件的读写访问权限和对目录(以及所有父进程)的rx
权限。我假设uWSGI将在启动应用程序时创建套接字。@HåkenLid这是我使用上述教程进行的第二次部署。它第一次工作时没有任何错误。这一次只是它把这个错误抛给了我。我尝试在pnb.conf中将权限更改为666,但仍然不工作,并且在启动uWSGI时没有收到错误消息sudo服务uwsgi start
@HåkenLid No.uwsgi和nginx在启动时不会抛出任何错误。我还尝试将socket目录更改为/var/run。仍然不起作用
2016/06/12 06:30:10 [crit] 12517#0: *4 connect() to unix:/home/pnb/pnb/pnb/pnb.sock failed (2: No such file or directory) while connecting to upstream, client: 106.218.89.140, server: pnb.com, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/home/pnb/pnb/pnb/pnb.sock:", host: "pnb.com"