| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| python:supervisor [2015/11/27 00:10] – [WEB GUI] mirocow | python:supervisor [2024/04/11 13:37] (текущий) – mirocow |
|---|
| {{tag>service unix linux python supervisor}} | {{tag>service unix linux python supervisor initd}} |
| |
| ====== Supervisor ====== | ====== Supervisor by python ====== |
| |
| Служит для запуска программ с определенными параметрами и отслеживания их состояния. Запуск процессов supervisord производит от своего имени, как под процессы, поэтому контроль остается за визором. Supervisorctl предоставляет системный- и веб-интерфейсы для мониторинга и управления процессами. Вы можете предоставить пользователям доступ на определенные программы, а они в свою очередь смогут видеть состояние этих программ и совершать действия над ними (start, stop, restart). Также имеется XML-RPC интерфейс, которым вы можете пользоваться для написания своих расширений и приложений, которым нужен доступ к Supervisord. | * http://supervisord.org |
| Supervisor написан на [[python]]. | |
| | Служит для демонизации процессов/программ с определенными параметрами и отслеживания их состояния. Запуск процессов supervisord производит от своего имени, как под процессы, поэтому контроль остается за визором. Supervisorctl предоставляет системный- и веб-интерфейсы для мониторинга и управления процессами. Вы можете предоставить пользователям доступ на определенные программы, а они в свою очередь смогут видеть состояние этих программ и совершать действия над ними (start, stop, restart). Также имеется XML-RPC интерфейс, которым вы можете пользоваться для написания своих расширений и приложений, которым нужен доступ к Supervisord. |
| | Supervisor написан на [[develop:python:python]]. |
| ===== Установка ===== | ===== Установка ===== |
| |
| ==== pip ==== | ==== pip ==== |
| |
| Можно установить еще и c помощью пакетного мененджера pip для [[python]], самая свежая версия из питоновского установщика, но для этого нужно еще тянуть кучу пакетов для питона и компиляторов | Можно установить еще и c помощью пакетного мененджера pip для [[develop:python:python]], самая свежая версия из питоновского установщика, но для этого нужно еще тянуть кучу пакетов для питона и компиляторов |
| |
| sudo pip install --upgrade supervisor | sudo pip install --upgrade supervisor |
| sudo ln -s /usr/local/bin/supervisord /usr/bin/supervisord | sudo ln -s /usr/local/bin/supervisord /usr/bin/supervisord |
| sudo ln -s /usr/local/etc/supervisord.conf /etc/supervisord.conf | sudo ln -s /usr/local/etc/supervisord.conf /etc/supervisord.conf |
| | |
| | ===== Настройка ===== |
| | |
| | nano /etc/supervisor/supervisor.conf |
| | или |
| | $ echo_supervisord_conf > /etc/supervisor/supervisor.conf |
| | |
| | [unix_http_server] |
| | file = /tmp/supervisor.sock |
| | |
| | [supervisord] |
| | logfile = ./logs/supervisord.log |
| | logfile_maxbytes = 50MB |
| | logfile_backups = 10 |
| | loglevel = info |
| | pidfile = /tmp/supervisord.pid |
| | nodaemon = false |
| | minfds = 1024 |
| | minprocs = 200 |
| | |
| | [rpcinterface:supervisor] |
| | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface |
| | |
| | [supervisorctl] |
| | serverurl = unix:///tmp/supervisor.sock |
| | |
| | [program:someprogram1] |
| | command = bash -c "ulimit -n 10000; exec /usr/bin/php ./bin/some-program-1.php" |
| | process_name = Some-Program |
| | numprocs = 1 |
| | autostart = true |
| | autorestart = true |
| | user = root |
| | stdout_logfile = ./logs/some-program-info.log |
| | stdout_logfile_maxbytes = 1MB |
| | stderr_logfile = ./logs/some-program-error.log |
| | stderr_logfile_maxbytes = 1MB |
| | |
| ===== WEB GUI ===== | ===== WEB GUI ===== |
| |
| command=php /path/file.php | command=php /path/file.php |
| environment=HTTP_HOST="blog-tree.com",SOME_SERVER_PARAM="my_param" | environment=HTTP_HOST="blog-tree.com",SOME_SERVER_PARAM="my_param" |
| далее нам эти переменные доступны из $_SERVER['HTTP_HOST'] и $_SERVER['SOME_SERVER_PARAM'] | далее нам эти переменные будут доступны из $_SERVER['HTTP_HOST'] и $_SERVER['SOME_SERVER_PARAM'] |
| |
| | {{topic>[python]}} |