zoukankan      html  css  js  c++  java
  • uwsgi基础——管理

    原文:http://projects.unbit.it/uwsgi/wiki/Management

    管理uWSGI server

    系统的管理员向主进程发送信号来控制worker进程池。uwsgi也能通过“pidfile”写入主进程id --pidfile <filename> 选项。'pidfile'是一个纯文本文件,包含进程id。文件用来发送信号的可靠路径。

    Starting the server

    启动uwsgi服务器是系统管理员的一个任务,想启动webserver。它不是web server启动的任务。(即使被明显允许)

    uwsgi服务启动以来操作系统。

    现在的系统可以依照着这个表:

        Debian/Ubuntu -> Upstart (official uwsgi package, available starting from Wheezy/12.04, provides init.d solution, reading of /usr/share/doc/uwsgi/README.Debian.gz is recommended)

        Fedora -> SystemdIntegration

        OSX -> launchd

        Solaris -> SMF

    On 'classic' operating systems you can use init.d/rc.d scripts, tools like supervisor, daemontools or inetd/xinetd services

    重载守护进程

    按上面的意思,uwsgi主进程是uwsgi的核心组件。信号reload所有的workers和主进程是SIGTERM,下面是暴力重载的命令行的例子:

    kill -TERM `cat /tmp/project-master.pid`

    修复守护进程

    uwsgi 的一个很好的优势是它能在不丢失请求的情况下逐渐重启每个worker。

    例如,uwsgi可以被告知在处理完当前请求后重新加载code。

    # using kill to send the signal
    kill -HUP `cat /tmp/project-master.pid`

    or

    uwsgi --reload /tmp/project-master.pid

    or

    # if uwsgi was started with --touch-reload=/tmp/somefile
    touch /tmp/somefile

    Or from Python:

    uwsgi.reload()

    or Ruby

    UWSGI.reload

    停止守护进程

    如果前台运行,非常用以:点击 Ctrl-C 停止和退出了服务。然而,当你处理后台进程,你需要使用pid文件:

    kill -INT `cat /tmp/project-master.pid`

    or

    uwsgi --stop /tmp/project-master.pid

    多实例

    uwsgi emperor 是一个特殊的模式,允许你管理多个uwsgi实例、应用。

  • 相关阅读:
    BZOJ1293: [SCOI2009]生日礼物
    BZOJ2326: [HNOI2011]数学作业
    BZOJ1179: [Apio2009]Atm
    树链剖分的一个小细节
    BZOJ1146: [CTSC2008]网络管理Network
    BZOJ1984: 月下“毛景树”
    BZOJ3196: Tyvj 1730 二逼平衡树
    BZOJ1579: [Usaco2009 Feb]Revamping Trails 道路升级
    BZOJ1674: [Usaco2005]Part Acquisition
    Babel 在浏览器环境使用方法
  • 原文地址:https://www.cnblogs.com/wanself/p/2791316.html
Copyright © 2011-2022 走看看