it-swarm.com.de

Verwirrt über DFOREGROUND mit Apache

Also habe ich Apache mit Yum auf einem neuen CentOS 7-Server installiert. Ich habe Apache schon oft installiert, aber noch nie gesehen: Wenn ich ps aux jetzt starte, wird es immer angezeigt

/ usr/sbin/httpd -DFOREGROUND

Google sagt mir, dass dies bedeutet, dass der Prozess im Vordergrund ausgeführt wird und sich nicht von der Shell löst, aber ich verstehe nicht wirklich, was das bedeutet - wenn ich meine Shell schließe, stirbt Apache dann?

Ich möchte nur das normale Apache-Verhalten erhalten und habe httpd wie immer laufen lassen und im Hintergrund tuckern müssen. Muss ich DFOREGROUND deaktivieren? (Ich kann übrigens nicht herausfinden, wie man das macht)

16
Cocorico

Das -DFOREGROUND Option bedeutet in der Tat, dass Apache nicht gabelt, aber das bedeutet nicht, dass es an Ihre Shell angehängt ist!

Der Dienst wird von systemd gestartet, wenn Sie systemctl start httpd (oder nach alter Art, service httpd start). Es ist systemd, an das Apache angehängt ist, und systemd verwaltet den Prozess als eines seiner untergeordneten Elemente. Dies geschieht, damit systemd leicht erkennen kann, ob Apache abgestürzt ist, ohne eine PID-Datei abfragen oder andere böse Hackerangriffe ausführen zu müssen. Dies bedeutet auch, dass systemd in der Lage ist, automatisch Apache neu zu starten wenn es abstürzt.

Lauf systemctl status httpd um seinen Status zu sehen. Ein Beispiel sieht aus wie:

# systemctl status httpd
httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
   Active: active (running) since Sat 2014-07-12 01:53:50 UTC; 1 weeks 3 days ago
  Process: 21400 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
 Main PID: 390 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─  390 /usr/sbin/httpd -DFOREGROUND
           ├─15379 /usr/sbin/httpd -DFOREGROUND
           ├─15858 /usr/sbin/httpd -DFOREGROUND
           ├─16809 /usr/sbin/httpd -DFOREGROUND
           ├─16944 /usr/sbin/httpd -DFOREGROUND
           ├─17079 /usr/sbin/httpd -DFOREGROUND
           ├─17351 /usr/sbin/httpd -DFOREGROUND
           ├─17487 /usr/sbin/httpd -DFOREGROUND
           ├─17772 /usr/sbin/httpd -DFOREGROUND
           ├─17908 /usr/sbin/httpd -DFOREGROUND
           └─18043 /usr/sbin/httpd -DFOREGROUND

Jul 12 01:53:50 hozen httpd[390]: AH02559: The SSLCertificateChai...d
Jul 12 01:53:50 hozen httpd[390]: AH00558: httpd: Could not relia...e
Jul 12 01:53:50 hozen systemd[1]: Started The Apache HTTP Server.
Jul 13 03:30:02 hozen systemd[1]: Reloading The Apache HTTP Server.
Jul 13 03:30:02 hozen httpd[9332]: AH02559: The SSLCertificateCha...d
Jul 13 03:30:02 hozen systemd[1]: Reloaded The Apache HTTP Server.
Jul 21 03:19:02 hozen systemd[1]: Reloading The Apache HTTP Server.
Jul 21 03:19:02 hozen httpd[21400]: AH02559: The SSLCertificateCh...d
Jul 21 03:19:02 hozen systemd[1]: Reloaded The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
20
Michael Hampton