在 Ubuntu 15.10 上出现“Unit gunicorn.service 加载失败:没有此文件或目录”?

在 Ubuntu 15.10 上出现“Unit gunicorn.service 加载失败:没有此文件或目录”?

当以 sudo 用户身份设置运行 nginx、gunicorn、django 的新 Ubuntu 15.10 x64 服务器时。运行时收到一条错误消息service gunicorn start(以 root 身份运行,是的,这是个坏主意):

Failed to start gunicorn.service: 
Unit gunicorn.service failed to load: No such file or directory.

从活动的虚拟环境我可以使用以下命令启动 gunicorn:

任何关于如何解决这个问题的想法都将不胜感激,因为我已经尝试了各种网络搜索中的很多建议,这些建议提到了与此类似的问题,但都没有成功。

My gunicorn file is at `/etc/init/gunicorn.conf` and is configured as follows:

description "Gunicorn application server handling myproject"

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

respawn
setuid myuser
setgid www-data
chdir /home/myuser/myproject

exec myprojectenv/bin/gunicorn --workers 3 --bind unix:/home/myuser/myproject/myproject.sock myproject.wsgi:application

这个问题与这里,但我没有权限发表评论,而且用户似乎已经找到了 systemd 的答案。最初的问题源于以下问题指导在 Ubuntu 15.10 上。我尝试检查该页面上的评论部分,使用我的 google fu 进行搜索,然后各种网站都到达了这里。

对于刚接触 Ubuntu 的人来说,非常感激能够获得简化的帮助。

答案1

实际情况是,您在需要使用 Systemd 时却尝试使用 Upstart。因此,您需要使用 Systemd 配置,而不是 Upstart。

取自http://docs.gunicorn.org/en/stable/deploy.html

系统化

在 Linux 系统上开始变得常见的工具是 Systemd。以下是用于在 systemd 中设置 Gunicorn 启动的配置文件以及 Gunicorn 将监听的接口。套接字将由 systemd 管理:

/lib/systemd/system/gunicorn.service:

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

[Service]
PIDFile=/run/gunicorn/pid
User=someuser
Group=someuser
WorkingDirectory=/home/someuser
ExecStart=/home/someuser/gunicorn/bin/gunicorn --pid /run/gunicorn/pid test:app
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

gunicorn.套接字:

[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn/socket
ListenStream=0.0.0.0:9000
ListenStream=[::]:8000

[Install]
WantedBy=sockets.target

tmpfiles.d/gunicorn.conf:

d /run/gunicorn 0755 someuser someuser -

运行 curl 之后http://本地主机:9000/此时 Gunicorn 应该启动了,你应该在日志中看到类似这样的内容:

2013-02-19 23:48:19 [31436] [DEBUG] 套接字激活套接字:unix:/run/gunicorn/socket,http://0.0.0.0:9000,http://[::]:8000

相关内容