Apache を同一サーバ上で複数プロセス起動するときに注意する点
Apache を同一サーバ上で、複数プロセスを起動させる需要がそもそもあるのかっていうのはあるけど、Apache をリバースプロキシとして使って、同一ホストで mod_perl や mod_php をアプリケーションサーバとして動作させたい等があると思う。
以下の事を気を付けることで、複数のプロセス起動することができる。
- コンフィグファイルを分ける
- Listen IPアドレス or ポート番号を別にする
- PIDファイルを別にする
コンフィグファイルを分ける
Apache は起動時に読み込むコンフィグファイルを指定することができる。これにより、設定の異なる Apache を複数起動することが出来る。
apachectl の -f オプションを使えば読み込むコンフィグファイルを指定することができる。
% sudo /usr/local/apache2/bin/apachectl -f コンフィグファイル -k 実行したいコマンド % sudo /usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf2/httpd.conf -k start
Listen IPアドレス or ポート番号を別にする
Listen する IPアドレスかポート番号を別にする必要がある。同一 IPアドレス且つポート番号で Listen する設定にしていた場合は、起動時に以下の様なエラーが出る。
(98)Address already in use: make_sock: could not bind to address 192.168.150.128:80 no listening sockets available, shutting down Unable to open logs