mod_wsgi(Apache)—Werkzeugのドキュメント

提供:Dev Guides
Werkzeug/docs/2.0.x/deployment/mod wsgi
移動先:案内検索

mod_wsgi (Apache)

Apache Webサーバーを使用している場合は、 mod_wsgi の使用を検討する必要があります。

mod_wsgi をインストールしています

mod_wsgi がまだインストールされていない場合は、パッケージマネージャーを使用してインストールするか、自分でコンパイルする必要があります。

mod_wsgi インストール手順は、UNIXシステムでのソースインストールのインストール手順をカバーしています。

ubuntu / debianを使用している場合は、次のようにapt-getしてアクティブ化できます。

# apt-get install libapache2-mod-wsgi

FreeBSDでは、 www / mod_wsgi ポートをコンパイルするか、pkg_addを使用して、 mod_wsgi をインストールします。

# pkg_add -r mod_wsgi

pkgsrcを使用している場合は、 www / ap2-wsgi パッケージをコンパイルして mod_wsgi をインストールできます。

最初のapacheのリロード後に、segfaultingの子プロセスに遭遇した場合は、それらを無視しても問題ありません。 サーバーを再起動するだけです。


.wsgi ファイルの作成

アプリケーションを実行するには、 yourapplication.wsgi ファイルが必要です。 このファイルには、アプリケーションオブジェクトを取得するために起動時に実行されているコード mod_wsgi が含まれています。 そのファイル内の application というオブジェクトがアプリケーションとして使用されます。

ほとんどのアプリケーションでは、次のファイルで十分です。

from yourapplication import make_app
application = make_app()

アプリケーション作成用のファクトリ関数がなく、シングルトンインスタンスがある場合は、そのインスタンスを application として直接インポートできます。

そのファイルを再び見つかる場所(例: / var / www / yourapplication )に保存し、 yourapplication と使用中のすべてのライブラリがPythonロードにあることを確認します道。 システム全体にインストールしたくない場合は、仮想Python インスタンスの使用を検討してください。


Apacheの構成

最後に行う必要があるのは、アプリケーション用のApache構成ファイルを作成することです。 この例では、セキュリティ上の理由から、 mod_wsgi に別のユーザーでアプリケーションを実行するように指示しています。

<VirtualHost *>
    ServerName example.com

    WSGIDaemonProcess yourapplication user=user1 group=group1 processes=2 threads=5
    WSGIScriptAlias / /var/www/yourapplication/yourapplication.wsgi

    <Directory /var/www/yourapplication>
        WSGIProcessGroup yourapplication
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>