DFOREGROUND与Apache混淆

所以我刚刚在一个新的CentOS 7服务器上安装了Apache,使用Yum。 我之前已经安装了很多次Apache,但从来没有见过这样的情况:当我运行ps aux时 ,它总是显示出来

/ usr / sbin / httpd -DFOREGROUND

谷歌告诉我,这意味着这个过程将在前台运行,而不是从shell中分离出来,但是我没有真正意识到这一点 – 如果closures我的shell,Apache会死?

我只是想获得正常的Apache行为,并且像往常一样习惯于运行httpd,在后台徘徊,我需要禁用DFOREGROUND吗? (我不知道如何btw)

-DFOREGROUND选项确实意味着Apache不会分叉,但这并不意味着它被连接到你的shell!

当你运行systemctl start httpd (或者老式的方法, service httpd start )时, systemctl start httpd是由systemd service httpd start 。 系统将Apache连接到哪个系统上,systemd将其作为其子项之一进行pipe理。 这样systemd可以很容易的告诉Apache是​​否崩溃,而不必轮询一个pid文件或者做其他讨厌的hackery。 这也意味着systemd能够在崩溃的时候自动重启Apache 。

运行systemctl status httpd来查看其状态。 一个例子如下所示:

 # 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.