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

时间:2012-12-13 22:04:18

标签: 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文件中有这个代码。 所以当我运行/etc/init.d/uwsgi start它执行ini配置文件时,当我执行/etc/init.d/uwsgi时停止它会停止uwsgi进程id。

问题在于,当我启动uWsgi服务时,它会正常运行并记录每个http请求,任何调试打印等等,但当我关闭putty时,我运行我的Vps它会杀死所有uWsgi进程并退出站点从显示。

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

提前致谢。

3 个答案:

答案 0 :(得分:3)

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

A tutorial

答案 1 :(得分:3)

如果要在命令行中设置参数,请在命令中添加标记-d file.log-d代表守护程序):

uwsgi --ini /home/myonlinesite/uwsgi.ini --pidfile /var/run/uwsgi_serv.pid -d file.log

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

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

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

答案 2 :(得分:1)

请务必添加

daemon = logfile

到您的配置