【发布时间】:2016-09-01 23:13:32
【问题描述】:
我正在关注http://www.obeythetestinggoat.com/book/chapter_08.html 这本书,它说要添加一个 unix 套接字来使用 gunicorn 运行 nginx 服务器,我这样做了。 这是我的 nginx 文件
server {
listen 80;
server_name mydjsuperlist-staging.tk;
location /static {
alias /home/elspeth/sites/mydjsuperlist-staging.tk/static;
}
location / {
proxy_set_header Host $host;
proxy_pass http://unix:/tmp/mydjsuperlist-staging.tk.socket;
}
}
Nginx 重新加载没有任何故障并使用 nginx -t 检查它
当我跑步时:
gunicorn --bind unix:/tmp/mydjsuperlist-staging.tk.socket superlists.wsgi:application
它成功地在 tmp 文件夹中创建了 mydjsuperlist-staging.tk.socket 文件,我在终端上得到了这个
2016-09-01 18:56:01 [15449] [INFO] Starting gunicorn 18.0
2016-09-01 18:56:01 [15449] [INFO] Listening at: unix:/tmp/mydjsuperlist-staging.tk.socket (15449)
2016-09-01 18:56:01 [15449] [INFO] Using worker: sync
2016-09-01 18:56:01 [15452] [INFO] Booting worker with pid: 15452
一切似乎都很好,但是当我访问我的站点 mydjsuperlist-staging.tk 时,它会出现 (502) 错误网关错误。 当我使用端口时,我的网站运行良好。我在这里做错了什么?
【问题讨论】:
-
nginx 返回错误 502 还是 gunicorn?
-
我认为它是 nginx,因为在浏览器中我收到错误消息 502 网关错误,在它下面是 nginx/ubuntu 14.04,它仍然令人困惑,我在终端上看不到任何类型的连接响应.我怎么知道 gunicorn 是否引起了问题
-
nginx错误日志里面的信息是什么?
-
您是否在运行启用 SELinux 的 Unix 系统?我最近也遇到过这种情况。如果是,请告诉我,我会发布解决方案
-
不,我在本地运行 Ubuntu,在服务器上没有安装任何 selinux 包
标签: django nginx gunicorn unix-socket bad-gateway