6

現在、サーバー上の数百の小さな PHP サイトに対して小さな共有ホスティング サービスを実行しています。Python のサポートも提供したいと考えていますが、少なくとも最初の調査では、ソース コードを変更するたびにサーバーの再起動が必要になるようです。

これは本当にそうですか?もしそうなら、私たちは Python ホスティング サポートを提供することができなくなります。クライアントがファイルをアップロードできるようにするのは簡単ですが、(共有) サーバー プロセスを再起動させることはできません。

PHP は簡単です。新しいバージョンのファイルをアップロードすると、新しいバージョンが実行されます。

私は Python 言語とコミュニティに多大な敬意を払っているので、サイトのコードを更新するのにこれほどクレイジーなプロセスが本当に必要だとは信じがたいです。私が間違っていると教えてください!:-)

4

3 に答える 3

7

Pythonはコンパイルされた言語です。コンパイルされたバイトコードは、パフォーマンスを向上させるために、後で使用するためにPythonプロセスによってキャッシュされます。デフォルトでは、PHPが解釈されます。これは、使いやすさと速度の間のトレードオフです。

Apacheなどの標準のWSGIモジュールを使用している場合はmod_wsgi、サーバーを再起動する必要はありません.wsgi。ファイルをタッチするだけで、コードが再ロードされます。WSGIをサポートしていない奇妙なサーバーを使用している場合は、使い勝手が良いと言えます。

于 2009-11-10T22:30:35.330 に答える
4

Python アプリケーションのデプロイ方法によって異なります。純粋な Python CGI スクリプトである場合は、再起動は必要ありません (非常に遅くなるため、まったくお勧めしません)。Apache で modwsgi を使用している場合、ソースを再ロードする有効な方法があります。modpython には、モジュールのリロードに関するいくつかのサポートとそれに伴う問題があるようです。

Python アプリケーションをホストする Apache 以外の方法として、CherryPy サーバー、Paste サーバー、Zope、Twisted、Tornado などがあります。

ただし、これを使用しない特別な理由がない限り (おそらく Apache/PHP ショップから来ているため)、Apache で mod_wsgi を使用することを強くお勧めします。Django は Apache で modwsgi を推奨しており、他の主要な Python フレームワークのほとんどは modwsgi で動作することを知っています。

于 2009-11-10T22:06:45.280 に答える