返回

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文件夹?我没有修改任何一个。

谢谢你的帮助!

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像
下一篇
java免费开源简单工作流推荐 2022-04-02 21:36:23