Subsections

製品用にウェブサイトを配置する

何週間も働いて作ったすてきなウェブサイトがあります。ついにそれを世界に見せる用意ができました。

しかし、どのようにそれを配置するかを決める必要があります。すなわち、それを製品用のPCなどの機材にどのようにセットアップするかということです。

配置の設定を選ぶ

ウェブサイトを開発している時は、ウェブサイトにアクセスする人はあなた一人(おそらく2、3人の他の開発者も)だけなので、サイト自体は高速もしくは強力である必要がありません。しかし製品版のウェブサイトでは、(もし好運なら)たくさんの人々があなたのウェブサイトにアクセスするでしょう。これは、高速かつ信頼性のあるサービスをユーザーに提供するために適切なCherryPyの設定を選択しなければならないということを意味します。

設定を選ぶ助けになる基準は以下を含んだものです:

CherrPy Httpサーバを直接使うべきか、それともApacheのような他のウェブサーバーの裏で使うべきですか?

まずやるべき決定は、CherryPy HTTPサーバを直接使うか、Apacheなどの他のウェブサーバ下で動かすかということです。以下は各々の方法に対する利点を列挙したものです:

直接使う

Apacheの裏で動かす

CherryPyを直接つかうなり他のウェブサーバ下で使うなりをいったん決めても、まだいくつかの設定を決める必要があります。。。

CherryPyを直接配置するためのオプション

以下のサブセクションはそれぞれ異なるオプションは何であるか、そしてそれらの長所/短所は何かを示します:

シングルスレッド/プロセス

説明: これはCherryPy Httpサーバが単一のシングルスレッド/プロセスで実行することです。1つのリクエストを扱っている間は、同時に他のリスエストをつなぐことができません。

利点:

欠点: 結論: この方法はデフォルトの設定であり、開発のためであればうまく動きますが、製品となる場合、あなたのウェブサイトに何人かのユーザーが同時にアクセスしてきた場合に閉めだされてしまいます。

Forking server

説明: この方法はCherryPy HTTPサーバが各リクエストを扱うために新規にプロセスを生成するものです。レスポンスが送り返された後、プロセスは破棄されます。

利点:

欠点: :結論: この方法はもしウェブのトラフィックがそれほど多くない時に、Windowsマシンではない場合に使う事ができます。

Threading server

説明: この方法はCherryPY HTTPサーバが各リクエストを扱うために新しいスレッドを生成するものです。レスポンスが送り返された後、スレッドは破棄されます。

利点:

欠点: 結論: この方法はウェブサイトのトラフィックがそれほど多くない場合に使うことができます。

固定されたプロセス数

説明: この方法はCherryPy HTTPサーバーがスタートアップ時に固定された数のプロセスを生成します。そしてこれらのプロセスはずっと残ったままです。もし1つのプロセスがリクエストを扱っている最中に他のリクエストが来た場合、それは次のプロセスに回され、そこで扱われます。

利点:

欠点: 結論: この方法はWindows以外のマシンで、一度に何百というユーザーを相手にはしないという場合に効果があります。

他の代替案

もしほんとに 多くのトラフィックになって、前述の方法では不十分であるとか、これらの方法を使うことができない(例えばWindowsを使っている)という場合には、genericなロードバランシングを使うことができます。これについてはドキュメントのHowToにあります。

他のウェブサーバ下でCherryPyを動かす

いままでのセクションで述べてきた設定方法は全て他のウェブサーバ下のCherryPyを動かす時にも可能です。サードパーティーのウェブサーバはたいていマルチスレッドかマルチプロセスです。これを設定する説明のドキュメントはHowToにあります。

設定ファイルのオプション

ここではどのようにCherryPyサーバを配置するかを指定するために使う設定ファイルオプションを列挙します。これらのオプション全ては設定ファイル(cf.「CherryPyを設定する」の章)の[server]セクションで使われます。

これらのオプションは機能が衝突するため、明らかに一緒には使えないものがあります:



Debian User 2003-10-13