2

私が働いている会社で Web アプリケーションに Python と Django を使用できるようになりたいと思っています。誰もが慣れ親しんでおり、多数のクライアントに簡単にデプロイできるため、現在は PHP を使用しています。単一の仮想サーバーで 10 ~ 100 の Web サイトをホストできます。

単一の Apache および Python インストールから多数の Web サイトを提供することは可能ですか? 各 Web サイトには、特に電子メール アカウントなどの独自のドメインが必要です。

4

3 に答える 3

3

私はApacheを使用しません。現在のベストプラクティスは、uWSGIサーバーへのリクエストをプロキシするNginxフロントエンドです。uWSGIエンペラーモードについてお読みください。それは非常に用途が広いです。http://uwsgi-docs.readthedocs.org/en/latest/Emperor.html。個々のアプリは、動的に変更、削除、追加することができます。PythonAnywhereで使用して、何千ものWebアプリケーションにサービスを提供しています

他にも使用できるWSGIサーバーがあります。uWSGIは、私の経験では最もスケーラブルなようです。

于 2013-01-22T20:49:19.327 に答える
2

はい、それは間違いなく可能です。私たちのセットアップでは、通常、django背後mod_wsgiApacheあり、nginx

特定のコードを指すようにapacheの仮想ホストを構成できますmod_wsgi

ここから引用-詳細については、SOの投稿を参照してください。

1つのインスタンスから提供を試みることができる方法は少なくとも2つあります。

  1. apache + mod_wsgiを使用し、WSGIApplicationGroupおよび/またはWSGIProcessGroupディレクティブを使用します。私はこれまでこれらを必要としたことがないので、これらが希望どおりに機能するかどうかを完全に確認することはできませんが、デーモンモードでmod_wsgiを使用して、メモリフットプリントを大幅に改善することができます。

  2. Djangoミドルウェアを試して、リクエストのホスト名に基づいてURLを拒否/許可することができます(DjangoドキュメントのHttpRequest.get_host()を参照)。さらに言えば、パフォーマンスにわずかな影響がありますが、すべてのビューにデコレータを配置して、着信ホストをチェックすることができます。

于 2013-01-22T20:51:07.857 に答える
1

はい、単一の Apache / mod_wsgi インストールを使用して、多くのサイトを簡単に提供できます。通常、Web サイトごとに個別の virtualhost セクションを使用してこれを行います。仮想ホストのドキュメントを参照してください。各仮想ホスト構成で異なる servername ディレクティブを使用して、どのホスト名がどの構成にルーティングされるかを指定します。名前ベースの仮想ホストでより詳細なドキュメントを参照してください

于 2013-01-22T20:53:27.437 に答える