Redhat上の同じApacheインスタンスで構成されたいくつかの仮想ホストがあります。
すべての仮想ホスト WSGIScriptAlias
設定は、仮想環境がアクティブ化されているpythonファイルにポイントされます。
activate_this = '/path_to_the_virtualenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
現在、プロジェクトの1つをpython-2.7にアップグレードし、別のプロジェクトをpython-3.xにアップグレードする予定です。 pythonサンドボックスを分離します。したがって、python側ではすべてが良好です。
質問は次のとおりです:同じApache + mod_wsgiの下で異なるApache仮想ホストに異なるpythonバージョンを使用することは可能ですか?インスタンス?
そうでない場合、続行するにはどのオプションが最適ですか?
関連する WsgiPythonHome
設定がありますが、仮想ホストごとではなく、「サーバー構成」コンテキストでグローバルに定義されます。さらに、mod_wsgiは特定のpython=バージョン用にコンパイルされているため、このケースを処理できるかどうかはわかりません。
いいえ、それは不可能です。 mod_wsgiバイナリは、1つのPython=バージョンのみに対してコンパイルする必要があり、コンパイル済みのmod_wsgiモジュールのインスタンスを一度に1つだけApacheにロードできます。
独自のポートでリッスンする別のWSGIサーバーにプロキシするようにApacheを設定する必要があります。
Apache/mod_wsgiをそのバックエンドサーバーとしても使用するには、mod_wsgi 4.1.Xを使用して調査する必要があります。見る:
この新しいバージョンのmod_wsgiは、複数のPython=バージョンに対してmod_wsgiをインストールし、提供されたスクリプトを使用してそれぞれに対してApacheインスタンスを実行する方法を提供します。スクリプトは、Apache構成のすべてのセットアップを引き継ぐため、心配する必要はありません。