美文网首页
uwsgi维护

uwsgi维护

作者: 十三流 | 来源:发表于2016-11-15 15:00 被阅读0次

uwsgi配置文件格式

首先,uwsgi是可以完全不用配置文件,跟普通的shell命令一样,也可以正常使用,但是每次要修改的时候,也得输入全部的参数,所以保存到配置文件,然后修改文件后加载文件要方便的多。

uwsgi支持ini、xml、json等格式,我们只用过xml和ini2种,也仅此做个示例
xml

<uwsgi>
    <socket>:98</socket> #本地监听的端口
    <chdir>/project-dir</chdir> #项目主目录
    <wsgi-file>/project-dir/wsgi.py</wsgi-file> #wsgi路径
    <processes>2</processes> #工作进程数
    <threads>10</threads> #工作线程数
    <daemonize>uwsgi.daemonize.log</daemonize> #日志文件路径
    <master>true</master>
    <listen>50</listen> #监听队列
    <enable-threads/>  #允许在请求中开启新线程
    <memory-report/>  #日志记录请求的内存等详细信息
    <pidfile>pidfile-path</pidfile> #pidfile路径
</uwsgi>

ini

[uwsgi]
chdir = %d../  #指定project目录为主目录
master = true #以独立守护进程运行
env = DJANGO_SETTINGS_MODULE=project_name.settings #项目的settings模块路径
module = project_name.wsgi:application #wsgi的application模块路径
socket=/project_dir/project.sock #本地监听的socket
http-websockets  #websokcet over http,官放文档说nginx >= 1.4 works fine and without additional configuration.
gevent=100  #gevent协程支持,最大100个
gevent-monkey-patch #gevent协程补丁
processes = 2 #2个处理进程
enable-threads = true #允许在请求中开启新线程
listen=300 #监听队列
daemonize=uwsgi.daemonize.log  #日志文件
memory-report #日志记录请求的内存等详细信息
pidfile=/pidfile-path #pidfile路径

uwsgi基本操作

启动uwsgi

uwsgi -x xxxx.xml #xml配置文件
uwsgi -i xxxx.ini #ini配置文件

重启uwsgi
首选要找到uwsgi的主进程号,如果使用了pidfile记录进程号,则可以简单的找到master pid,如果未使用pidfile选项,则到日志中查看日志

spawned uWSGI master process (pid: 7486) #主进程号
spawned uWSGI worker 1 (pid: 7487, cores: 10)
spawned uWSGI worker 2 (pid: 7488, cores: 10)

然后使用-HUP或-TERM

kill -HUP pid #友好重启,不会丢失会话
kill -TERM pid #强制重启,可能丢失会话

结束uwsgi
同重启uwsgi,需要先得到uwsgi的主进程号,然后使用

kill -INT pid 

使用killall
在没使用pidfile参数记录uwsgi主进程号的情况下,如果服务器上只有一个uwsgi实例,可以使用killall命令控制uwsgi

killall -HUP uwsgi #所有的uwsgi实例都重启
killall -INT uwsgi #关闭所有uwsgi实例

相关文章

网友评论

      本文标题:uwsgi维护

      本文链接:https://www.haomeiwen.com/subject/fiikpttx.html