启动uWSGI服务无提示失败

时间:2015-05-05 06:58:38

标签: django ubuntu uwsgi upstart

我遇到了一个让我疯狂的问题。我正在尝试创建一个Ubuntu 15.04 Upstart作业,它将启动运行Django应用程序的uWSGI服务器(uWSGI版本2.0.7-debian)。

我已将服务配置为以下内容,并尝试通过发出命令$ sudo service uwsgi start来启动作业。日志文件中没有输出,没有创建套接字文件,也没有错误。

# file: /etc/init/uwsgi.conf

description "uWSGI server"

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

exec /usr/bin/uwsgi --ini /srv/configs/uwsgi.ini

service uwsgi status

● uwsgi.service - LSB: Start/stop uWSGI server instance(s)
Loaded: loaded (/etc/init.d/uwsgi)
Active: active (exited) since Tue 2015-05-05 09:40:08 EEST; 1s ago
  Docs: man:systemd-sysv-generator(8)
Process: 21405 ExecStop=/etc/init.d/uwsgi stop (code=exited, status=0/SUCCESS)
Process: 21460 ExecStart=/etc/init.d/uwsgi start (code=exited, status=0/SUCCESS)

May 05 09:40:08 web-2 systemd[1]: Starting LSB: Start/stop uWSGI server instance(s)...
May 05 09:40:08 web-2 uwsgi[21460]: * Starting app server(s) uwsgi
May 05 09:40:08 web-2 uwsgi[21460]: ...done.
May 05 09:40:08 web-2 systemd[1]: Started LSB: Start/stop uWSGI server instance(s).

uWSGI应用程序配置为

[uwsgi]

uid = www-data
gid = www-data
socket = /srv/sockets/uwsgi.sock
chmod-socket = 666
master = true
processes = 4
enable-threads = true
plugins = python
chdir = /srv/sites/current
module = wsgi:application
virtualenv = /srv/environments/current
logto = /srv/logs/uwsgi.log
logfile-chown = true
touch-reload = /srv/sites/current/wsgi.py

服务启动正常,如果直接启动服务,一切正常,例如通过发出命令: sudo -u www-data /usr/bin/uwsgi --ini /srv/configs/uwsgi.ini

对于socket目录和日志文件目录,我设置了最宽松的权限。

所以,我很茫然。下一步做什么?

2 个答案:

答案 0 :(得分:6)

感谢nmgeeks评论,我开始关注配置uWSGI的其他地方。

尝试移动/srv /run/uwsgi目录下我们自己的应用程序相关的所有内容时,uWSGI正在尝试创建PID文件。

您可以在/usr/share/uwsgi/conf/default.ini找到参考资料。

太糟糕uWSGI在这种情况下不会产生任何错误,这让我感到沮丧一天。

答案 1 :(得分:1)

我只想提供一些额外的细节。在我的情况下,我没有删除任何内容,但由于某些原因,systemd无法创建/run/uwsgi目录。所以,我做了echo "/run/uwsgi 0755 www-data www-data -" > /etc/tmpfiles.d/uwsgi.conf。之后我重新启动了我的VM(我没有找到一种方法来应用这些更改而不重新启动)并且uwsgi开始工作!

是的,在这种情况下,uWSGI不会产生任何错误,这太糟糕了。