在 /etc/init 中获取 gunicorn.conf 文件时出现问题

在 /etc/init 中获取 gunicorn.conf 文件时出现问题

我正在尝试配置 gunicorn 服务。/etc/init/gunicorn.conf 的内容如下:

start on runlevel [2345]
stop on runlevel [!2345]

respawn
setuid nero
set gid www-data
chdir /path/to/webapp

exec virtual_env/bin/gunicorn --workers 3 --bind unix:/path/to/webapp/project.sock project.wsgi:application

如果我使用启动服务sudo service gunicorn start,则不会创建套接字,也不会生成任何 gunicorn 进程(我在系统监视器中找不到任何进程)。

但是,如果我自己在终端中执行配置文件的最后一行(删除该exec单词),它确实有效。

这是权限问题吗?我确实将 path/to/webapp 中所有文件的文件权限设置为用户 nero 和组 www-data。

答案1

我自己弄清楚了问题所在。ubuntu 16.04 中的情况似乎发生了变化。我必须gunicorn.service在 中创建一个文件/etc/systemd/system/

[单元]
描述=gunicorn 守护进程
After=network.target

[服务]
用户 = nero
组 = www-data 工作目录 = /path/to/webapp ExecStart = /path/to/webapp/virtual_env/bin/gunicorn --workers 3 --bind unix:/path/to/webapp/project.sock project.wsgi:application

[安装]
WantedBy=multi-user.target

现在可以使用 启动该服务sudo systemctl start gunicorn

相关内容