4

サーバーのメンテナンスのために数か月ごとに自動的にオフラインにする必要がある Linux/Apache/Tomcat スタックで実行されている Web サイトがあり、これは任意の時間続きます。Apache に「サーバー メンテナンス」ページを作成および削除させるためのオプションは何ですか?

これをシェルスクリプトで制御できるようにする必要があります。(Google が提供した回答は、サーバー構成を手動で編集することに関するもので、午前 3 時にオフィスにいたくありません!) スクリプトを .htaccess ファイルにドロップし、完了したら削除することができると思います。しかし、それは優雅とは言えません。


解答解説:

Mike の回答はベスト プラクティスの回答のように見えますが、サード パーティのホスティング プロバイダーがロード バランサーを制御しており、その混乱に対処したくないため、おそらくDan の回答に近いと思います。ありがとう!

4

4 に答える 4

5

まさにそれを行うセットアップがありますが、それにはApacheだけではありません。ロードバランサーとその背後にある 2 つのサーバーがあります。どちらの Web サーバーも Apache を使用して Web サイトを提供し、そのうちの 1 つには、単純な HTML メンテナンス ページを提供する追加の仮想ホストがあります。ロード バランサーには、要求を実サーバーにリダイレクトする仮想 HTTP サービスがあります。この仮想サービスには 3 つの実サーバーがあります。2 つは実サーバーで、3 番目はメンテナンス ページを指す 2 番目のサーバーの仮想 IP です。実サーバーは、可能な限り最小の重みを持つ 3 番目に重み付けされ、ロード バランサーは固定の重み付けアルゴリズムを使用します。そのため、実際の Web サイトが何らかの理由でオフラインになると、すべてのリクエストがメンテナンス ホストに送られ、ユーザーには電話番号が記載された素敵なエラー ページが表示されます。実際、私は小さなスクリプトを使って実サーバーの状態をチェックしています。

PS。ロードバランサーには Load Master 1500 を使用しています。

于 2008-09-19T00:00:35.017 に答える
3

カスタム構成ファイルを使用して Apache を起動するのは非常に簡単です。私のシステムでは:

httpd -f <config>

私はこれをシェルスクリプトと組み合わせて定期的に使用し、メンテナンスプレースホルダーとして非常に単純な構成を使用しています。このスクリプトは、通常の Apache を停止し、これを開始するだけです。

于 2008-09-18T23:54:19.713 に答える
2

2 つの設定ファイルを作成し、前後に入れ替えます

ファイルのほんの少しだけが変更される場合は、それらを一種のプリプロセッサとマージし、1 つのソースから標準バージョンと「オフライン」バージョンの両方を生成し、それらの間で交換します。

IIRCとにかくApache構成ファイルはCPPを使用して構築されています

于 2008-09-18T23:51:54.010 に答える
0

私たちは似たようなことをしました。メイン サイト ページにリダイレクトする index.html があります。メンテナンス時には、html ファイルのリダイレクトを変更するスクリプトを実行します。次に、cron と viola の自動メンテナンス ウィンドウでスクリプトを実行します。

それが役立つことを願っています!

于 2008-09-18T23:52:46.237 に答える