uWSGI 提供了一系列的管理命令和信号,用于控制运行中的 uWSGI 实例。以下是一些常用的管理命令和信号:

  1. 启动 uWSGI 实例:

shell uwsgi --ini your_app.ini --daemonize

  1. 优雅地重载(重新加载配置文件):

shell uwsgi --reload /path/to/uwsgi.pid

  1. 停止 uWSGI 实例:

shell uwsgi --stop /path/to/uwsgi.pid

  1. 发送信号:

优雅地重载所有 worker 和 master 进程(相当于发送SIGHUP 信号):

shell kill -HUP `cat /path/to/uwsgi.pid`

立即杀死整个 uWSGI 栈(相当于发送SIGINT信号):

shell kill -INT `cat /path/to/uwsgi.pid`

  1. 打印统计数据(相当于发送 SIGUSR1 信号):

shell uwsgi --stats /tmp/uwsgi.stats.sock

  1. 打印 worker 状态(相当于发送 SIGUSR2 信号):

shell uwsgi --dump-uwsgi-详态 /path/to/uwsgi.pid

  1. 暂停/挂起/恢复 uWSGI 实例(相当于发送 SIGTSTP 信号):

shell kill -TSTP `cat /path/to/uwsgi.pid`

  1. 触发表单请求:

shell uwsgi --lazy-apps

  1. 设置警告消息:

shell uwsgi --set-warning-message "Custom warning message"

  1. 使用 Master FIFO 进行管理:

    创建 Master FIFO:

    shell mkfifo /path/to/uwsgi.master.fifo

    发送命令到 Master FIFO:

    shell echo "command" > /path/to/uwsgi.master.fifo

  2. 自动重载:

    shell uwsgi --py-autoreload 1

  3. 日志管理:

    设置日志文件路径:

    shell uwsgi --logto /path/to/logfile.log

  4. 调整工作进程和线程:

    shell uwsgi --processes 4 --threads 2

  5. 使用配置文件启动:

    shell uwsgi --ini /path/to/uwsgi.ini

这些命令和信号可以帮助你控制 uWSGI 实例的行为,包括启动、停止、重载配置、监控状态等。在实际使用中,你可能需要根据具体的应用需求和部署环境来选择合适的管理命令。