Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
python:supervisor [2015/11/27 00:08] – [WEB GUI] mirocowpython:supervisor [2024/04/11 13:37] (текущий) mirocow
Строка 1: Строка 1:
-{{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]].
 ===== Установка ===== ===== Установка =====
  
Строка 14: Строка 16:
 ==== 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 =====
  
Строка 47: Строка 86:
   /etc/init.d/supervisor restart   /etc/init.d/supervisor restart
   /etc/init.d/nginx restart   /etc/init.d/nginx restart
-При запуске supervisor возникла ошибка: Starting supervisor: Error: Another program is already listening on a port that one of our HTTP... Для решения данной проблемы нужно убить socket supervisor.sock, где находится видно из конфига+Если при запуске supervisor возникла ошибка: Starting supervisor: Error: Another program is already listening on a port that one of our HTTP..., то для решения данной проблемы нужно убить socket supervisor.sock, где находится видно из конфига
  
 Пример: Пример:
  
   $sudo unlink /tmp/supervisor.sock   $sudo unlink /tmp/supervisor.sock
-Далее из браузера заходим на http://supervisor.loc, и видим, что-то такое: (если есть созданные задачи)+Далее из браузера заходим на http://supervisor.loc
  
 ===== supervisorctl ===== ===== supervisorctl =====
Строка 94: Строка 133:
   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]}}