4

我很着急,我可以找到如何做到这一点,但我需要一些帮助才能在不浪费太多时间的情况下实现这一目标。目前,我为运行 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 初始化文件中有这段代码。因此,当我运行 /etc/init.d/uwsgi start 时,它会执行 ini 配置文件,而当我执行 /etc/init.d/uwsgi stop 时,它会停止 uwsgi 进程 ID。

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

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

提前致谢。

4

3 回答 3

5

如果您在命令行中设置参数,请将标志添加-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 等人。

于 2015-03-04T10:59:16.247 回答
4

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

一个教程

于 2012-12-13T22:25:02.090 回答
1

务必添加

守护进程 = 日志文件

到你的配置

于 2012-12-14T04:35:00.440 回答