管理uWSGI服务器

官网参考

如果您正在管理多个应用程序或高容量站点,请查看

启动uwsgi服务器

以系统管理员身份启动 uwsgi 服务器

如果以更好的方式启动 uwsgi 服务器

支持传统的方式,如:init.d/rc.d 脚本, Supervisor, Daemontools 或者 inetd/xinetd,工具

现代的系统中使用:Systemd

控制uWSGI的信号

使用 safe-pidfile 选项把主进程的pid写入一个文件

uWSGI服务器响应以下信号

SIGHUP: 重新加载 worker 和 master 进程 --reload
SIGTERM: 强制重新加载 worker 和 master 进程 --die-on-term
SIGINT: 立即杀死整个uWSGi堆栈 --stop
SIGQUIT: 立即杀死整个uWSGi堆栈

使用对主进程 master-fifo 的控制比使用信号控制要更好

重新加载服务器

在主进程模式下运行时,可以不关闭主套接字而优雅地重新启动uWSGi服务器

此功能允许您修补/升级uWSGi服务器,而不会关闭与web服务器的连接并丢失一个请求。

使uWSGi优雅地重新启动的方法

# 使用kill发送信号
kill -HUP `cat /tmp/project-master.pid` # 使用重载选项
uwsgi --reload /tmp/project-master.pid # 如果 uwsgi 是使用 touch-reload=/tmp/somefile 方式启动
touch /tmp/somefile # 在应用中重新加载
uwsgi.reload()

停止服务器

# 使用 kill 发送信号
kill -INT `cat /tmp/project-master.pid` # 使用选项
uwsgi --stop /tmp/project-master.pid

主FIFO

FIFO

从uWSGI 1.9.17开始,使用Unix命名管道添加了一个新的管理系统


2019-2-20 by [email protected]

05-18 06:39