
起動時に起動し、127.0.0.1:80 と 192.150.0.1:80 でリッスンするように Apache2 (Ubuntu 14.04 上) を設定したいと考えています。
このため、 には次の行があります/etc/apache2/ports.conf
。
Listen 127.0.0.1:80
Listen 192.168.150.1:80
VirtualHost ディレクティブの開始タグ:
<VirtualHost 127.0.0.1:80 192.168.150.1:80>
これらの編集と実行後、正常に動作しましたsudo apache2ctl restart
。
しかし、後者の IP は起動時にサーバー上のアクティブなインターフェースにバインドされていないため、Apache は次回の起動時に起動できませんでした。
見つけたここ:
ホストシステムに存在しないIPとポートにバインドしようとすると、apache httpd が起動に失敗する。
後者の IP へのバインドに失敗したことが唯一の原因である場合、Apache が自分自身を終了しないようにしたいです。Apache 構成ディレクティブを使用して次のような解決策はありますか?
- 2 番目のアドレスがどのインターフェースにもバインドされていない場合でも、起動時に Apache を正常に起動します。
- 両方のアドレスをリッスンするには、インターフェースをオンにして Apache を再起動するだけです。
?
/etc/apache2/ports.conf
インターフェースをオンにした後、毎回手動で編集したくありません。
答え1
これは、複数の IP 上の複数のサイトを持つ HA セットアップでは非常に一般的です。IP は HA 内のデバイス間で共有されます。
簡単に答えると、できません。デバイス上にすべての IP が存在しなければ、Apache は起動しません。
私たちの答えは、フェイルオーバーが発生したときに Apache サービスが再起動されるように、フェイルオーバー プロセスに Apache の再起動を記述することでした。