
サーバーのCentOS 7
下部にインクルードファイルを追加した後に入力すると、次のエラーが発生します。sudo apachectl restart
httpd.conf
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
これを入力すると、sudo systemctl status httpd.service -l
結果は次のようになります。
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: failed (Result: exit-code) since Tue 2014-12-23 20:10:37 EST; 2min 15s ago
Process: 2101 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Process: 2099 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 2099 (code=exited, status=1/FAILURE)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
Dec 23 20:10:37 ip-address httpd[2099]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
Dec 23 20:10:37 ip-address systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Dec 23 20:10:37 ip-address systemd[1]: Failed to start The Apache HTTP Server.
Dec 23 20:10:37 ip-address systemd[1]: Unit httpd.service entered failed state.
apache
インクルードディレクティブをコメントアウトすると再起動でき、インクルードディレクティブのコメントアウトを削除するとエラーが再生成される可能性があります。apache
埋め込みファイルの内容を正しく使用するにはどうすればよいですか?
httpd.conf
エラーを引き起こす結論は次のとおりですIncludeOptional sites-enabled/*.conf
。.conf
フォルダ内の唯一のファイルは、次の内容が含まれています sites-enabled
。mydomain.com.conf
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot /var/www/mydomain.com/public_html
ErrorLog /var/www/mydomain.com/error.log
CustomLog /var/www/mydomain.com/requests.log combined
</VirtualHost>
上記の1行のインクルードディレクティブを除いて、プリインストールされたhttpd.conf
ものと同じです。私はhttpd
このエラーが発生する前にこれをsudo yum remove httpd mod_ssl
行ったので知っています。sudo yum install httpd mod_ssl
専門はファイル共有サイトでご覧いただけます。httpd.conf
このリンクをクリックしてください。
明示的に従ったときにこの問題が発生しました。このチュートリアルの手順。
インクルードファイルをコメントアウトすると、に定義されているhttp/mydomain.com
静的コンテンツが正常に提供されます。問題は、上記のインクルードファイルのディレクティブで発生したようです。 /var/www/html
DocumentRoot
httpd.conf
VirtualHost
診断を支援するために、以下のEDIT#3の3つのインクルード.conf
ディレクティブに含まれるすべてのファイルへのリンクが含まれています。httpd.conf
。
編集#1
/etc/hostname
m32が提案したDefineを変更しようとしましたが、mydomain.com
まだ再apache
起動されておらず、systemctl status httpd.service
結果は次のようになります。
[sudo_user_account@server-ip-address ~]$ sudo systemctl status httpd.service -l
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: failed (Result: exit-code) since Tue 2014-12-23 14:25:35 EST; 20s ago
Process: 31993 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Process: 31991 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 31991 (code=exited, status=1/FAILURE)
Status: "Total requests: 1; Current requests/sec: 0; Current traffic: 0 B/sec"
Dec 23 14:25:35 hostname systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Dec 23 14:25:35 hostname systemd[1]: Failed to start The Apache HTTP Server.
Dec 23 14:25:35 hostname systemd[1]: Unit httpd.service entered failed state.
編集#2
/etc/hosts
私はまた、次のようにファイルの内容を変更するようにeyoung100の提案を試しましたが、まだ上記のEDIT#1で定義されているのと同じエラーが発生します。
編集#3
DerekCのリクエストに応じて実行し、以下をsudo apachectl configtest
取得しました。
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
Syntax OK
また、GarethTheRedが提案したようにincludeディレクティブを確認しました。httpd.conf。 3つのインクルードディレクティブがあります。httpd.conf。各ディレクティブのフォルダ内のすべてのファイルとともに、以下にこれら3つのファイルを一覧表示しました。これらは.conf
ランダムですhttpd
。まだ何も修正していません。.conf
次のリンクをクリックすると、ファイル共有サイトで各ファイルを表示できます。
Include conf.modules.d/*.conf
ディレクトリ内の次のファイルを参照してくださいconf.modules.d
。
00-base.conf
00-dav.conf
00-lua.conf
00-mpm.conf
00-proxy.conf
00-ssl.conf
00-systemd.conf
01-cgi.conf
IncludeOptional conf.d/*.conf
ディレクトリ内の次のファイルを参照してくださいconf.d
。
ファイルの自動索引付け
SSL構成ファイル
ユーザーディレクトリ構成ファイル
Welcome.conf
ここでは省略したREADMEファイルもあります。
また、IncludeOptional sites-enabled/*.conf
ガイドラインとその内容は上記のOPで詳しく説明されています。
ここに含まれているファイルがのVirtualHost
設定と競合していますかmydomain.com.conf
?
編集#4
mydomain.com.conf
garethTheRedの提案に従って、そのディレクトリに移動してconf.d
再起動できるまで1行ずつコメントを付け始めました。その後、どのくらいの行を保持して再起動できるかを調べるために、行のコメントを削除し始めました。再起動できましたが、引き続き同じ警告が表示されます。 mydomain.com.conf
httpd
httpd
httpd
systemctl status httpd.service -l
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
VirtualHost
上記の警告が引き続き生成されても、起動を許可する構文は次のとおりですhttpd
。
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot /var/www/mydomain.com/public_html
</VirtualHost>
次の行を省略する必要があることに注意してください。対応する行がある場合は、http の起動に完全な障害が発生すると警告が拡大されます。
# ErrorLog /var/www/mydomain.com/error.log
# CustomLog /var/www/mydomain.com/requests.log combined
また、実行してみるsudo journalctl -xelu httpd
と、端末は次を何度も繰り返して応答しました。
--
-- Unit httpd.service has finished shutting down.
Dec 24 17:48:43 server-ip-address systemd[1]: Stopped The Apache HTTP Server.
-- Subject: Unit httpd.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has finished shutting down.
Dec 24 17:48:48 server-ip-address systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit httpd.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has begun starting up.
Dec 24 17:48:48 server-ip-address httpd[10364]: AH00558: httpd: Could not reliably d
Dec 24 17:48:48 server-ip-address systemd[1]: Started The Apache HTTP Server.
-- Subject: Unit httpd.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has finished starting up.
--
-- The start-up result is done.
lines 887-909/909 (END)
注:eyoung100のホストファイルを使用するか、m32のホストファイルを使用するかは、上記の結果は同じです。 この質問に答えるには、ログファイルを作成してサーバー名の警告を避けることができる必要があると思いました。 それ以外の場合は、httpdを構成する後続のステップでエラーが長続きすることが心配されます。
答え1
apache
Webサイトのルートディレクトリに書き込めないため、ログでエラーが発生しています。ファイル権限を変更しても SELinux によってブロックされます。apache
ログのみ記録でき/var/log/httpd
ます。最も簡単な解決策は、ウェブサイトをこのディレクトリにログインするように変更することです。 Webサイト名を含むファイル名を使用することもできます。他のログと区別するようにしてください。
ErrorLog /var/log/httpd/mydomain_com_error.log
CustomLog /var/log/httpd/mydomain_com_requests.log combined
サーバーのホスト名を設定してAH00558警告を削除するには、次のようにします。
hostnamectl set-hostname --static <FQDN of your machine>
例えば
hostnamectl set-hostname --static mydomain.com
答え2
コンピュータのホスト名を設定するのを忘れたときにこのエラーが発生しました。これをやってみましたか?
次のコマンドを実行します。
echo 'example.com' >> /etc/hostname
確認hostname
編集する:
最新のOPでは、ホストファイルが正しく設定されていないようです。これが私の姿です。
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
166.66.666.66 m32.me m32
::1 ip6-localhost ip6-loopback
このように簡単に設定してみてください。もちろん、すべての情報を自分の情報に置き換えてください。
166.66.666.66
自分のIP
m32.me and m32
、ドメイン、TLDのないドメインを使用してください。