Python 如何在CentOs中将uWsgi作为服务运行?

Python 如何在CentOs中将uWsgi作为服务运行?,python,uwsgi,Python,Uwsgi,我很忙,我可以找到如何做到这一点,但我需要一些帮助,以实现这一点,而不失去太多的时间。 目前,我在运行uWsgi实例和ini文件时所做的只是: uwsgi --ini /home/myonlinesite/uwsgi.ini --pidfile /var/run/uwsgi_serv.pid 然后停止: uwsgi --stop /var/run/uwsgi_serv.pid. 顺便说一下,我在我的/etc/init.d/uwsgi中的一个uwsgi init文件中有这段代码。 因此,当我

我很忙,我可以找到如何做到这一点,但我需要一些帮助,以实现这一点,而不失去太多的时间。 目前,我在运行uWsgi实例和ini文件时所做的只是:

uwsgi --ini /home/myonlinesite/uwsgi.ini --pidfile /var/run/uwsgi_serv.pid
然后停止:

uwsgi --stop  /var/run/uwsgi_serv.pid.
顺便说一下,我在我的/etc/init.d/uwsgi中的一个uwsgi init文件中有这段代码。 因此,当我运行/etc/init.d/uwsgi start时,它会执行ini配置文件,当我执行/etc/init.d/uwsgi stop时,它会停止uwsgi进程id

问题是,当我启动uWsgi服务时,它会正常运行并记录每个http请求、任何调试打印等,但当我关闭putty(我运行Vps的地方)时,它会停止所有uWsgi进程,并停止显示站点

我不知道我是否只需要触摸pid文件,或者我需要做什么让uWsgi进程继续执行,然后我可以关闭putty


提前感谢。

使用
nohup
启动uWsgi进程可以解决您注销时进程停止的问题

确保添加

守护进程=日志文件


如果要在命令行中设置参数,请将标志
-d file.log
添加到您的配置中(
-d
代表daemonize):


如果要在配置文件中设置参数,请在配置文件中添加以下行:

daemonize = /absolute/path/to/file.log

在这两种情况下,uWsgi都将在后台运行,并将所有内容记录在file.log中。鉴于这些选择,无需使用nohup等人。

这里也可以使用tmux或screen等终端多路复用器。更好的选择是在/etc/init/app.conf中创建一个具有运行级别的conf文件,并将其用作sudo initctl start | restart | stop app,或者在/etc/init.d/app中创建一个具有chkconfig运行级别和所有操作的服务。这应该是接受答案。我遵循了这个解决方案,它工作得完美无缺
daemonize = /absolute/path/to/file.log