web-dev-qa-db-ja.com

Centos 7でApacheが起動しない

Centos 7にhttp24uをインストールしましたVMとhttpdサービスが適切に起動せず、約30秒ほど起動してから、以下のメッセージでクラッシュします私にとって何か、誰かがそれに光を当てるか、何か提案がありますか?

journalctl

-- Unit httpd.service has begun starting up.
Jun 29 11:02:38 api01 systemd[1]: httpd.service start operation timed out. Terminating.
Jun 29 11:02:39 api01 systemd[1]: Failed to start The Apache HTTP Server.
-- Subject: Unit httpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has failed.
--
-- The result is failed.
Jun 29 11:02:39 api01 systemd[1]: Unit httpd.service entered failed state.
Jun 29 11:02:39 api01 systemd[1]: httpd.service failed.
Jun 29 11:02:39 api01 polkitd[811]: Unregistered Authentication Agent for unix-process:31718:120305844 (system bus name :1.1444, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_IE.UT
lines 3675-3731/3731 (END)

Apacheログ

[Wed Jun 29 11:36:18.095653 2016] [:notice] [pid 31869:tid 139893291845824] ModSecurity for Apache/2.7.3 (http://www.modsecurity.org/) configured.
[Wed Jun 29 11:36:18.095789 2016] [:notice] [pid 31869:tid 139893291845824] ModSecurity: APR compiled version="1.4.8"; loaded version="1.5.2"
[Wed Jun 29 11:36:18.095797 2016] [:warn] [pid 31869:tid 139893291845824] ModSecurity: Loaded APR do not match with compiled!
[Wed Jun 29 11:36:18.095803 2016] [:notice] [pid 31869:tid 139893291845824] ModSecurity: PCRE compiled version="8.32 "; loaded version="8.32 2012-11-30"
[Wed Jun 29 11:36:18.095807 2016] [:notice] [pid 31869:tid 139893291845824] ModSecurity: LUA compiled version="Lua 5.1"
[Wed Jun 29 11:36:18.095816 2016] [:notice] [pid 31869:tid 139893291845824] ModSecurity: LIBXML compiled version="2.9.1"
[Wed Jun 29 11:36:18.095820 2016] [:notice] [pid 31869:tid 139893291845824] Original server signature: Apache
[Wed Jun 29 11:36:18.181331 2016] [mpm_event:notice] [pid 31869:tid 139893291845824] AH00489: Apache/2.4.20 (CentOS) OpenSSL/1.0.1e-fips Skynet configured -- resuming normal operations
[Wed Jun 29 11:36:18.181422 2016] [core:notice] [pid 31869:tid 139893291845824] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Wed Jun 29 11:37:48.132327 2016] [mpm_event:notice] [pid 31869:tid 139893291845824] AH00492: caught SIGWINCH, shutting down gracefully

systemctl start httpd

これは私がsystemctl status httpdクラッシュする直前。

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: activating (start) since Wed 2016-06-29 14:42:03 IST; 25s ago
 Main PID: 32435 (httpd)
   CGroup: /system.slice/httpd.service
           ├─32435 /usr/sbin/httpd -DFOREGROUND
           ├─32439 /usr/sbin/rotatelogs /var/log/httpd/error_log.%Y-%m-%d 86400
           ├─32440 /usr/sbin/rotatelogs /var/log/httpd/access_log.%Y-%m-%d 86400
           ├─32441 /usr/sbin/rotatelogs /var/log/httpd/access_log.%Y-%m-%d 86400
           ├─32442 /usr/sbin/httpd -DFOREGROUND
           ├─32443 /usr/sbin/httpd -DFOREGROUND
           └─32444 /usr/sbin/httpd -DFOREGROUND

Jun 29 14:42:03 api01 systemd[1]: Starting The Apache HTTP Server...

そしてそれがクラッシュした後:

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Wed 2016-06-29 14:43:34 IST; 38s ago
  Process: 32435 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=0/SUCCESS)
 Main PID: 32435 (code=exited, status=0/SUCCESS)

Jun 29 14:42:03 api01 systemd[1]: Starting The Apache HTTP Server...
Jun 29 14:43:33 api01 systemd[1]: httpd.service start operation timed out. Terminating.
Jun 29 14:43:34 api01 systemd[1]: Failed to start The Apache HTTP Server.
Jun 29 14:43:34 api01 systemd[1]: Unit httpd.service entered failed state.
Jun 29 14:43:34 api01 systemd[1]: httpd.service failed.
2
llanato

昨日Centos7でこの問題が発生しました。ログには何が問題であるかを示唆するものはありません。

Apacheは実行できましたが、systemctlからは実行できませんでした。起動に失敗したと判断してサービスを終了するまでに、約90秒間使用できました。

私の状況は、知らなかった新しいファイアウォールでDNSがブロックされていることがわかりました。 DNSのブロックを解除すると問題が解決しました。

4

私はこの同じ問題に数日間苦労しました。私の問題は、次のモジュールが欠落していたことでした:

LoadModule systemd_module modules/mod_systemd.so

このモジュールをhttpd.confに追加すると、問題が解決しました。私もpreforkを使用していましたが、workerまたはeventを使用することでこれが変更されたかどうかはわかりません。

3
lschult2

これは、システムクラッシュ後もhttpd pidファイルがまだ存在するためです。 Systemdはまだサービスが開始されていることを確認します...

私の側では、次のようなExecPreStartオプションがありました:

ExecPreStart=[[ -f /var/run/httpd/httpd.pid ]] && /bin/rm -f /var/run/httpd/httpd.pid

よりエレガントな解決策があるかもしれません...

0
user378239

サーバーのハードウェア仕様は何ですか?実行してみてくださいsystemctl status httpd -lと出力を表示しますか?

起動後、topを実行してshift + mを押し、マシンのメモリをすべて消費していないことを確認します。

0
hashwagon