この記事では、エラーのトラブルシューティングに役立つSecure Shell(SSH)、Apache®、およびNginx®のLinux®構成を確認する方法について説明します。たとえば、構成ファイルに変更を加えて構文エラーを発生させる場合があります。その結果、サービスを再起動またはリロードすると、エラーが表示されて再起動に失敗し、ダウンタイムが発生します。
SSH構成ファイルは/etc / ssh / sshd_configにあります。 。構成ファイルを変更した後、コマンドsshd -t
を実行します。 構成を確認します。構成にエラーがある場合、次のエラーメッセージが表示されます。
# sshd -t
/etc/ssh/sshd_config: line 17: Bad configuration option: ZPort
/etc/ssh/sshd_config: terminating, 1 bad configuration options
エラーがない場合は、コマンドを実行しても何も表示されません。
構文checkコマンドは、デフォルトのApache構成ファイルと、サーバーで構成した仮想ホスト(vhosts)をチェックします。構文を確認するには、httpd -t
を実行します またはapache2ctl -t
Ubuntu®オペレーティングシステムおよびDebian®用。構文チェックでエラーが発生した場合、エラーメッセージには次の例のような出力が表示されます。
# httpd -t
AH00112: Warning: DocumentRoot [/var/www/test.com/httpdocs] does not exist
AH00526: Syntax error on line 3 of /etc/httpd/conf.d/test.conf:
ServerName takes one argument, The hostname and port of the server
エラーがない場合は、メッセージSyntax OK
が表示されます。サーバーにvhostがない場合でも、syntaxcheckはSyntax OK
を表示します。 Apacheのデフォルト設定ファイルの構文が正しい場合。
Nginx
Nginx構文チェックはApacheとは異なる動作をします。デフォルトのNginx構成の構文を確認するには、コマンドnginx -t
を実行します。 。ただし、特定のサーバーブロックの構文を確認する場合は、-c
を追加する必要があります。 次の例に示すように、フラグを立ててサーバーブロックへのパスを指定します。
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost ~]# nginx -t -c /etc/nginx/conf.d/test.com.conf
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/conf.d/test.com.conf:1
nginx: configuration file /etc/nginx/conf.d/test.com.conf test failed