Apache多重起動達成
が、しかし結局は出入り口のIPが一本しかないので無駄でしかなかった。
もうひとつ回線契約するか、固有IPを契約するしか・・・。
以下、いざって時の為の備忘録。
前提条件
- 二重起動を前提に、それぞれAとBとする
- Apache用のコンフィグファイルをA用とB用にそれぞれ用意する。 -> デフォルトは/etc/httpd/conf/httpd.conf
- A用とB用でそれぞれ違う値をListenとServerNameに設定する。
- ServerName : 受信する時のURL
- Listen : 受信する時に使うポート
- /var/run/httpd.pid を素にA用とB用のpidファイルを用意する
- A用とB用でそれぞれ違う数値を入力しておく -> Apacheのプロセス番号
- Apache起動用のスクリプトを素にA用とB用にそれぞれ用意する。 -> デフォルトは/etc/rc.d/init.d/httpd
- A用とB用で用意したスクリプトの中身を書き換える。
- 以下、書き換える場所
start() {
echo -n $"Starting $prog: "
check13 || exit 1
★ LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
スクリプトファイル内でApache起動用のコマンドを生成しているので、
同スクリプト内で設定しているCONFFILEを -f オプションで付け加えると、
別種の設定内容でApacheを起動できる。
が、例え違うServerNameを設定していても、外部からブラウザでURL入力した時に
IPに変換されてしまうので、結局は同じところに辿りついてしまうというオチ。
- Aだけの場合
- URL ⇒ IPに変換 ⇒ サーバのIPへ接続 ⇒ [A]Apacheが受信応答
- AとBがある場合 B無視
- URL ⇒ IPに変換 ⇒ サーバのIPへ接続 ⇒ [A]Apacheだけが受信応答
まぁ、結局は二種類のURLで接続できるようにしたかったのですが、
Apache多重だけでは出来ないってところです。結論。
ルータ買わなきゃだめかなぁ・・・。