我一直在尝试使用 this tutorial 部署演示应用程序.我在 Virtualbox 中的 CentOS 7 上执行此操作。
但是,我得到了 502 Bad Gateway
。我该如何解决这个问题?
nginx.conf 文件中的服务器 {} block
server {
listen 80;
server_name 172.16.16.215;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/michel/myproject;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/home/michel/myproject/myproject.sock;
}
}
gunicorn.service 文件
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=michel
Group=nginx
WorkingDirectory=/home/michel/myproject
ExecStart=/home/michel/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:/home/michel/myproject/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target
var/logs/nginx/error.log
2016/08/28 18:55:14 [crit] 17557#0: *4 connect() to unix:/home/michel/myproject/myproject.sock failed (13: Permission denied) while connecting to upstream, client: 172.16.16.23, server: 172.16.16.217, request: "GET / HTTP/1.1", upstream: "http://unix:/home/michel/myproject/myproject.sock:/", host: "172.16.16.217"
最佳答案
Gunicorn没有权限保存.sock
文件,或者nginx没有权限读取.sock
文件。
将此文件移动到 /tmp/
文件夹:
nginx.conf
proxy_pass http://unix:/tmp/myproject.sock:/;
gunicorn.service
ExecStart=/home/michel/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:/tmp/myproject.sock myproject.wsgi:application
关于django - 为什么我在使用 Nginx 和 Gunicorn 的 Django 应用程序上得到 502 Bad Gateway?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39189077/