Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
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]}} |