我正在尝试设置一个由Nginx和Gunicorn提供服务的简单烧瓶应用程序,并且大多数都遵循这个tutorial.当尝试访问该网页时,我收到502 Bad Gateway错误.
nginx日志(/var/log/nginx/error.log)说:
[crit] 23472#0:* 1 connect()到unix:/home/crawforc3/webpage/webpage.sock失败(13:权限被拒绝)
我检查过,我的项目目录中有一个webpage.sock文件,如下所示:
srwxrwxrwx 1 crawforc3 www-data 0 May 31 17:59 webpage.sock
这是我的/etc/systemd/system/gunicorn.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=crawforc3
Group=www-data
WorkingDirectory=/home/crawforc3/webpage
Environment="PATH=home/crawforc3/miniconda3/envs/HALSWEBPAGE/bin"
ExecStart=/home/crawforc3/miniconda3/envs/HALSWEBPAGE/bin/gunicorn --workers 3 --bind unix:/home/crawforc3/webpage/webpage.sock -m 007 wsgi:app
[Install]
WantedBy=multi-user.target
解决方法:
我发现与/etc/nginx/nginx.conf存在差异
我将用户设置为www-data,我应该将其设置为crawforc3.进行此更改并重新启动nginx和gunicorn解决了这个问题.