【发布时间】:2018-08-03 20:11:55
【问题描述】:
我正在学习将我的 Flask 应用程序部署到 Ubuntu AWS EC2 实例上,并且正在关注 Digital Ocean tutorial。我现在遇到了最后一个问题:我的 Gunicorn 已启动并使用以下命令工作:gunicorn --workers 3 --bind unix:project.sock -m 007 wsgi:app 创建 3 个工作线程和一个名为 project.sock 的套接字。
[2018-02-23 17:14:49 +0000] [INFO] Booting worker with pid: X
[2018-02-23 17:14:49 +0000] [INFO] Booting worker with pid: X
[2018-02-23 17:14:49 +0000] [INFO] Booting worker with pid: X
Connection initialized.
Connection initialized.
Connection initialized.
但我在尝试让 Nginx 从 Gunicorn 连接到我的 project.sock 时遇到错误 - a 502 Bad Gateway error。
这是我的/etc/nginx/sites-available/project 配置:
server {
listen 80;
server_name MY_SERVER_DNS;
location / {
include proxy_params;
proxy_pass http://unix:/home/ubuntu/flaskapp_dev/my_project/project.sock;
}
}
检查 Nginx 错误日志显示它在尝试连接到我的 project.sock 时遇到 Permission denied 错误:
2018/02/23 17:26:46 [crit] 10822#10822: *4 connect() to unix:/home/ubuntu/myproject/myproject/myproject.sock failed
(13: Permission denied) while connecting to upstream,
client: CLIENT_IP, server: MY_SERVER_DNS,
request: "GET / HTTP/1.1",
upstream: "http://unix:/home/ubuntu/myproject/myproject/project.sock:/", host: "MY_SERVER_DNS"
我知道有很多关于这个问题的 SO 帖子,但我注意到其中大部分都围绕 uwsgi,我在这里没有使用。我怀疑这显然是权限问题,所以我尝试chmod 711 /home/ubuntu/myproject/project 并重新启动nginx,但结果相同502 Bad Gateway error。
closest SO post to my issue appears to be this one,但它没有答案或 cmets。
【问题讨论】:
-
首先尝试 777 看看是否能解决问题。如果没有,那么我们看看其他选项
标签: amazon-web-services nginx flask gunicorn