我正在运行一个本地无业游民的虚拟机,Ubuntu 13.10,带有向uwsgi的nginx反向代理。
跑步
sudo /etc/init.d/nginx status
退货
* nginx is running
但是跑步
sudo /etc/init.d/uwsgi status
退货
* which one?
如果我看一下wsgi应用程序的日志文件,我可以看到uwsgi正在运行,已经创建了工作进程,等等...那么uwsgi的隐藏实例是否在某个地方运行,这会使service restart命令感到困惑?
我使用以下方法安装了uwsgi:
apt-get install uwsgi
这是app.ini文件:
[uwsgi]
plugin = python
socket = /run/uwsgi/app/myapp/socket
chdir = /var/www/myapp
module = project.wsgi:application
pidfile = /tmp/myapp-master.pid
master = True
daemonize = /var/log/uwsgi/myapp.log
有任何想法吗?
将pidfile选项更改为pidfile2似乎可以解决此问题。
pidfile2 = /tmp/myapp-master.pid
有趣的是service uwsgi stop
回报,[OK]
但service uwsgi start
回报[fail]
因此,我假设错误发生在非特权用户(例如www-data)试图写入由特权用户(例如root)创建的pidfile时。
pidfile2将在特权删除后创建pidfile-因此www-data可以很高兴地对其进行写入。
如果其他人可以阐明情况是否如此,那就太好了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句