无法使用CentOS 8,Nginx和Django-Rest-Framework在VirtualBox上启动gunicorn.service

时间:2019-10-03 16:09:42

标签: django nginx django-rest-framework centos gunicorn

尝试在CentOS上使用gunicorn和nginx部署Django应用程序。遵循DigitalOcean教程: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-centos-7

但是我有CentOS 8。

我可以使用以下命令从virtualenv本地运行我的应用程序:

python manage.py runserver

gunicorn --bind 0.0.0.0:8000 app.wsgi:application

但是随后我尝试运行具有状态的gunicorn.service-失败。 我拥有的systemctl status gunicorn.service内部

started gunicorn deamon
gunicorn.service: main process exited, code=exited, status=203/EXEC
gunicorn.service: failed with result 'exit-code'

没有该文件,我无法绑定app.sock文件,因为它没有被创建。

我的gunicorn.service看起来像这样 app-是虚构的应用程序名称:) admin-是该系统的真实用户

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=admin
Group=nginx
WorkingDirectory=/home/admin/app/portal/app
ExecStart=/home/admin/app/env/bin/gunicorn --workers 3 --bind unix:/home/admin/app/portal/app/app.sock app.wsgi:application

[Install]
WantedBy=multi-user.target

我的项目有一棵树: 应用

- env
- portal
-- client
-- app
--- documents
--- fixtures
--- images
--- app
---- __init__.py
---- settings.py
---- urls.py
---- wsgi.py
--- app_project
---- ...
--- manage.py
--- requirements.txt

如何使它正常工作?我检查了一下,以找到更多为什么不起作用的线索? 欢迎任何输入。 谢谢


在journalctl -xe中 我注意到 SELinux is preventing file/path from execute access on the file 所以我改变了 SELINUX=permissive 在/ etc / selinux / config

重新启动,现在在systemctl status gunicorn.service中有不同的错误:

gunicorn: error: unrecognized arguments: app.wsgi:application 

哦,那是因为我在ExecStart中添加了其他标志。删除它,现在可以使用。

SELinux出现了问题。

将其保留在这里,以防对任何人有用

0 个答案:

没有答案