• supervisor管理Django进程


    1. 安装:pip install supervisor

    2. 重定向默认配置:echo_supervisord_conf > /etc/supervisord.conf

    3. 修改配置文件目录,修改tmp目录

    4. 启动服务:supervisord -c /etc/supervisord.conf

        查看supervisord是否运行:

        ps -aux|grep supervisord

    5. 项目配置

    6. supervisorctl的使用

        更新新的配置到supervisord:supervisorctl update

        重新启动配置中的所有程序:supervisorctl reload

        启动单个任务进程:supervisorctl start task

        关闭单个任务进程:supervisorctl stop task

        重启单个任务进程:supervisorctl restart task

        重启所有进程:supervisorctl restart all

        关闭所有进程:supervisorctl stop all

        读取有更新(增加)的配置文件,不会启动新添加的程序:supervisorctl reread

        查看进程状态:supervisorctl status

    报错:unix:///var/run/supervisor/supervisor.sock refused connection

    解决:supervisord -c /etc/supervisord.conf 

    配置文件

    mkdir /etc/supervisor

    Django启动配置文件(例如: 项目名称_runserver.conf)

    [program:项目名称_runserver]
    #environment=CLIENT_LOCALE=zh_CN.UTF-8,LD_LIBRARY_PATH=/opt/IBM/Informix_Client-SDK/lib:/opt/IBM/Informix_Client-SDK/lib/esql:/opt/IBM/Informix_Client-SDK/lib/cli
    #environment=INFORMIXDIR=/opt/IBM/Informix_Client-SDK
    environment=DB_LOCALE=zh_CN.UTF-8
    #environment=INFORMIXSQLHOSTS=/home/sqlhosts
    environment=LC_ALL="zh_CN.UTF-8"
    environment=LANG="zh_CN.UTF-8"
    environment=LANGUAGE="zh_CN.UTF-8"
    directory=/usr/local/project/项目名称/
    command=gunicorn 项目名称.wsgi -b 127.0.0.1:18888 --access-logfile /var/log/gunicorn_out.log  --error-logfile /var/log/gunicorn_error.log  -w 4
    path=/usr/local/project/项目名称/
    autostart=true
    autorestart=true
    startretries=10
    exitcode=0
    stopsignal=kill
    stopwaitsecs=10
    user=root
    redirect_stderr=true
    stdout_logfile=/tmp/dtmp_runserver.log
    stopasgroup=true
    killasgroup=true

    nginx.conf

    [program:nginx] 
    command=nginx -c /etc/nginx/nginx.conf -g 'daemon off;' 
    autostart=true 
    autorestart=true
    startretries=10
    exitcode=0
    stopsignal=kill
    stopwaitsecs=10 
    user=root 
    redirect_stderr=true
    stopasgroup=true
    killasgroup=true

    task.conf

    [program:taskinfo] 
    command=/usr/bin/python /usr/local/project/项目名称/manage.py task
    directory=/usr/local/project/项目名称/
    autostart=true 
    autorestart=true
    startretries=10
    exitcode=0
    stopsignal=kill
    stopwaitsecs=10 
    user=root 
    redirect_stderr=true
    stopasgroup=true
    killasgroup=true
    stdout_logfile=/var/log/task_info.log

    参考文档:

    https://www.cnblogs.com/zhaijihai/p/11460502.html

  • 相关阅读:
    [ProjectEuler.net] 14
    Design patterns
    初等函数定义
    Design patterns 1.6 Design for change
    Programming In Haskell chapter3
    桌面恶心的无法删除的图标之 淘宝购物 删除办法
    程序员学英语三部曲
    e的给定精度求法
    Summary about Architect Visit
    再谈“我是怎么招聘程序员的”(上)
  • 原文地址:https://www.cnblogs.com/yu121/p/14362290.html
Copyright © 2020-2023  润新知