Настройте Supervisor для запуска веб-сервера Apache2 в Ubuntu / Debian Linux
Идея запуска ваших служб под наблюдением супервизора заключается в том, чтобы иметь возможность запускать несколько служб под одним демоном. В зависимости от конфигурации супервизора он сможет запускать, останавливать или перезапускать любую данную службу как дочерний процесс. В этом конфиге мы покажем, как работать в
Еще одно сообщение об ошибке:
apache2
качестве контролируемой службы (полезно для образов докеров и т. Д.) В Ubuntu / Debian Linux. Сначала установите супервизор:# apt-get install supervisorВключить
apache2
конфигурацию супервизора в /etc/supervisor/conf.d/
. Supervisor выберет любые файлы конфигурации из этого каталога, где единственным требованием является *.conf
расширение файла. Например, вставьте следующие строки в новый файл /etc/supervisor/conf.d/apache2.conf
:[program:apache2] command=/usr/sbin/apache2ctl -DFOREGROUNDПосле того, как вы включили указанный выше файл конфигурации, остановите веб-сервер apache2, если он в данный момент работает:
# /etc/init.d/apache2 stop [ ok ] Stopping web server: apache2. [email protected]:/# /etc/init.d/apache2 status [FAIL] apache2 is not running ... failed!и перезапустите супервизор:
# /etc/init.d/supervisor restart Restarting supervisor: supervisord.После перезапуска супервизора также должен быть запущен веб-сервер apache2. Убедитесь, что веб-сервер apache2 работает:
# /etc/init.d/apache2 status [ ok ] apache2 is running.
Исправление проблем
если по какой-то причине вы не можете запустить Apache под Supervisor, запустите Supervisor вnodaemon
режиме:# /etc/init.d/supervisor stop Stopping supervisor: supervisord. # supervisord -nСообщение об ошибке:
/usr/lib/python2.7/dist-packages/supervisor/options.py:296: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security. 'Supervisord is running as root and it is searching ' 2015-05-07 01:21:00,849 CRIT Supervisor running as root (no user in config file) 2015-05-07 01:21:00,849 WARN Included extra file "/etc/supervisor/conf.d/apache2.conf" during parsing 2015-05-07 01:21:00,858 INFO RPC interface 'supervisor' initialized 2015-05-07 01:21:00,858 CRIT Server 'unix_http_server' running without any HTTP authentication checking 2015-05-07 01:21:00,858 INFO supervisord started with pid 542 2015-05-07 01:21:01,862 INFO spawned: 'apache2' with pid 545 2015-05-07 01:21:01,914 INFO exited: apache2 (exit status 0; not expected) 2015-05-07 01:21:02,918 INFO spawned: 'apache2' with pid 548 2015-05-07 01:21:02,970 INFO exited: apache2 (exit status 0; not expected) 2015-05-07 01:21:04,975 INFO spawned: 'apache2' with pid 551 2015-05-07 01:21:05,025 INFO exited: apache2 (exit status 0; not expected) 2015-05-07 01:21:08,031 INFO spawned: 'apache2' with pid 554 2015-05-07 01:21:08,078 INFO exited: apache2 (exit status 0; not expected) 2015-05-07 01:21:09,079 INFO gave up: apache2 entered FATAL state, too many start retries too quicklyЕсли вы видите указанное выше сообщение об ошибке, убедитесь, что ваш веб-сервер Apache еще не запущен.
Еще одно сообщение об ошибке:
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf: Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}Это потому, что вы пытаетесь запустить
apache2
команду напрямую. Вы можете попробовать запустить apache2ctl
вместо этого.