Basics

設定確認

httpd.conf でサーバ全体の設定を行います。ファイルパスについては、起動スクリプト /etc/init.d/httpd または実行中のプロセスを確認して判断してください。

パッケージからのインストールを行った場合は

/etc/httpd/conf/httpd.conf

ソースから /usr/local/apache へインストールを行った場合は

/usr/local/apache/conf/httpd.conf

を確認してみてください。

起動前に httpd.conf の記述が正しいかをチェックします。エラーがある場合、httpd の起動ができませんので、必ずチェックします。

% /etc/init.d/httpd configtest
Syntax OK

CustomLog ErrorLog で指定したログファイルのディレクトリが存在しないことがよくあります。この場合、起動ができてもサーバが応答しなくなりますので注意してください。

起動と停止

start オプションで起動します。

% /etc/init.d/httpd start

SSLを利用するには startssl オプションを指定します。

% /etc/init.d/httpd startssl

ps コマンドで、親プロセスと子プロセスが起動していることが確認できます。

% ps auxf | grep 'httpd' | grep -v grep

stop オプションで停止します。

% /etc/init.d/httpd stop

再起動

緩やかな再起動方法として graceful オプションがあります。親プロセスに USR1 シグナルを送ることで、処理中の子プロセスがある場合、処理終了後に新しいプロセスに置き換えます。

% /etc/init.d/httpd graceful

# 以下と同じことです
% kill -USR1 (親プロセス番号)

restart オプションでは、親プロセスに HUP シグナルを送ることで、子プロセスを即座に終了させ新しい設定で子プロセスを起動します。親プロセスは終了しません。

% /etc/init.d/httpd restart

# 以下と同じことです
% kill -HUP (親プロセス番号)

stop での停止後に (start|startssl) で起動する方法です。 restart との違いは stop オプションで TERM シグナルが送られ、親プロセスが終了する点です。

% /etc/init.d/httpd stop
% /etc/init.d/httpd start

graceful restart オプションでは親プロセスは終了しないため、SSL証明書の変更やモジュール追加の場合に変更が正しく反映されない場合があります。プロセスが中断しますが、最も確実な再起動方法です。