DebianとRHELの両方のディストリビューションで、Apacheサーバーの設定ファイルの有効性をチェックするコマンドを探しています。再起動する前にこれを行う必要があるため、ダウンタイムは発生しません。
チェック: http://httpd.Apache.org/docs/2.2/programs/apachectl.html
apachectl configtest
別の方法はhttpd -t
。したがって、ApacheのWindowsバージョンで使用できます。チェック http://httpd.Apache.org/docs/2.4/programs/httpd.html
apachectl configtest
が正解です。残念ながら、apachectlが欠落しているWindowsインストールがあります。ここでhttpd
を呼び出すことも役立ちます。
Apache構成テスト(apachectl configtest
またはそれに相当するもの)は、構成ファイル(および再帰的に含まれるファイル)の有効な構文のみをテストします。ただし、元の質問では、ダウンタイムの防止を求めていました。ときでさえ apachectl configtest
はエラーを返しません。実際の再起動は引き続き失敗し、ダウンタイムが発生する可能性があります。
このような失敗の一般的な原因には、SSL証明書の欠落またはアクセス不能、ログファイルのディレクトリの欠落、またはWebサイトのルートディレクトリの欠落などがあります。多くの場合、このようなエラーは、vhost Apache構成ファイルを削除せずにvhostのディレクトリを削除したことが原因で発生します。このような不整合を防ぐために、人形やansibleなどのツールを使用することを強くお勧めします。
この質問が「Apache config lint」をグーグルで検索するときの一番のヒットであることを見て、私はこの小さな詳細について言及したいと思いました...