Flask+Gunicorn+Nginx:未安装组www数据
发布时间:2022-04-02 22:34:44 437
相关标签: # redis
我不熟悉web服务,尤其是在部署选项方面。我提出了一个申请网络服务器,现在我想在生产模式上部署它。我选择了Gunicorn+Nginx选项,并遵循本教程中的说明。
我安装nginx时使用了:
~ >>> sudo pacman -S nginx
~ >>> sudo systemctl start nginx
~ >>> sudo systemctl enable nginx
一切都很顺利,但当我创建系统服务 webserver.service
这个Group=www-data
使服务退出,带有status=216/GROUP
.
这是答案webserver.service
文件:
[Unit]
Description=Gunicorn instance to serve the test server webserver
After=network.target
[Service]
User=user
Group=www-data
WorkingDirectory=/home/user/webserver/
Environment="PATH=/home/user/webserver/.env/bin"
ExecStart=/home/user/webserver/.env/bin/gunicorn --workers 3 --bind unix:app.sock -m 007 wsgi:app
[Install]
WantedBy=multi-user.target
以下是完整日志:
~ >>> sudo systemctl start webserver
~ >>> sudo systemctl enable webserver
~ >>> sudo systemctl status webserver
● webserver.service - Gunicorn instance to serve the test server webserver
Loaded: loaded (/etc/systemd/system/webserver.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sun 2020-07-05 14:50:02 CEST; 20min ago
Main PID: 5464 (code=exited, status=216/GROUP)
juil. 05 14:50:02 user systemd[1]: Started Gunicorn instance to serve the test server webserver.
juil. 05 14:50:02 user systemd[5464]: webserver.service: Failed to determine group credentials: No such process
juil. 05 14:50:02 user systemd[5464]: webserver.service: Failed at step GROUP spawning /home/user/webserver/.env/bin/gunicorn: No such process
juil. 05 14:50:02 user systemd[1]: webserver.service: Main process exited, code=exited, status=216/GROUP
juil. 05 14:50:02 user systemd[1]: webserver.service: Failed with result 'exit-code'.
事实上,当我列出所有组时www-data
缺少Nginx所需的:
~ >>> groups
sys network power docker lp wheel user
所以很明显,上面的代码不适用于www-data
组
我试过的
1.不同的群体我试图将组选项更改为Group=root
,它成功了。然后我完成了教程,没有任何错误。我以为它解决了我的问题,但我无法在我的浏览器上访问我的服务器http://www.my_domain_webserver.com
所以我猜www-data
必须与Nginx和GUnicorn合作。
My nginx位置块:
server {
listen 80;
server_name my_domain_webserver.com www.my_domain_webserver.com;
location / {
include proxy_params;
proxy_pass http://unix:/home/user/webserver/app.sock;
}
}
2.重新加载守护进程我还尝试用systemctl daemon-reexec
,但这并没有解决我的问题。
我的项目树是:
webserver
├── app.py
├── app.sock
└── wsgi.py
为什么这个团体www-data
丢失的
我需要加特别的吗nginx.conf
文件夹?我没有修改任何一个。
谢谢你的帮助!
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报