Website-Suche

Konfigurieren des Supervisors für die Ausführung des Apache2-Webservers unter Ubuntu/Debian Linux


Die Idee beim Starten Ihrer Dienste unter der Aufsicht des Supervisors besteht darin, mehrere Dienste unter einem einzigen Daemon ausführen zu können. Abhängig von der Konfiguration des Supervisors ist er in der Lage, einen bestimmten Dienst als untergeordneten Prozess zu starten, zu stoppen oder neu zu starten. In dieser Konfiguration zeigen wir, wieman apache2 als überwachten Dienst ( nützlich für Docker-Images etc. ) auf Ubuntu/Debian Linux.
Zuerst den Supervisor installieren:


apt-get install supervisor

Fügen Sie die Supervisor-Konfiguration von apache2 in /etc/supervisor/conf.d/ ein. Der Supervisor wählt alle Konfigurationsdateien aus diesem Verzeichnis aus, für das nur die Dateierweiterung *.conf erforderlich ist. Fügen Sie zum Beispiel die folgende Zeile in eine neue Datei /etc/supervisor/conf.d/apache2.conf ein:


[program:apache2]
command=/usr/sbin/apache2ctl -DFOREGROUND

Sobald Sie die obige Konfigurationsdatei eingefügt haben, stoppen Sie den apache2-Webserver, wenn er derzeit ausgeführt wird:


/etc/init.d/apache2 stop  
[ ok ] Stopping web server: apache2.
root@4e004b451a98:/# /etc/init.d/apache2 status
[FAIL] apache2 is not running ... failed!

und Supervisor neu starten:


/etc/init.d/supervisor restart
Restarting supervisor: supervisord.

Nach dem Neustart des Supervisors sollte auch der apache2-Webserver gestartet werden. Vergewissern Sie sich, dass der apache2-Webserver ausgeführt wird:


/etc/init.d/apache2 status
[ ok ] apache2 is running.

Fehlerbehebung

Wenn Sie Ihren Apache aus irgendeinem Grund nicht unter Supervisor Run Supervisor im Nodaemon-Modus zum Laufen bringen können:


/etc/init.d/supervisor stop
Stopping supervisor: supervisord.
supervisord -n

Fehlermeldung:


/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

Wenn Sie die obige Fehlermeldung sehen, stellen Sie sicher, dass Ihr Apache-Webserver nicht bereits läuft.

Eine weitere Fehlermeldung, die möglicherweise angezeigt wird, lautet:


AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}

Dies liegt daran, dass Sie versuchen, den Befehl apache2 direkt auszuführen. Sie können stattdessen versuchen, apache2ctl auszuführen.

Verwandte Artikel: