mod_wsgiは、ApacheWebサーバーを介してHTTP経由でPythonスクリプトを提供するために使用できるApacheモジュールです。 mod_wsgiを使用して、Django、Web.py、Werkzug、Chery.py、TurboGears、Flaskなどのフレームワークとツールで記述されたアプリケーションを簡単にデプロイできます。
このチュートリアルでは、Ubuntu 18.04 LTS(Bionic Beaver)サーバー上のApacheサーバーでmod_wsgiをインストールしてセットアップする方法を学習します。
- Ubuntu18.04サーバーを実行しているサーバー。
- sudo権限を持つroot以外のユーザー。
- サーバーに静的IPアドレス192.168.43.229を設定します。
Apacheとmod_wsgiをインストールします
開始する前に、必要なパッケージをシステムにインストールする必要があります。
次のコマンドを実行して、それらすべてをインストールできます。
sudo apt-get install python libexpat1 apache2 apache2-utils ssl-cert -y
必要なパッケージがすべてインストールされたら、次のコマンドを使用してmod_wsgiのインストールに進むことができます。
sudo apt-get install libapache2-mod-wsgi -y
mod_wsgi用にApacheを設定
次に、mod_wsgi Apacheモジュールを介して提供するために、ApacheWebルートディレクトリ内にPythonスクリプトを作成する必要があります。
これは、次のコマンドで実行できます。
sudo nano /var/www/html/wsgy.py
次の行を追加します:
def application(environ,start_response): status = '200 OK' html = '<html>\n' \ '<body>\n' \ '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \ 'Welcome to mod_wsgi Test Page\n' \ '</div>\n' \ '</body>\n' \ '</html>\n' response_header = [('Content-type','text/html')] start_response(status,response_header) return [html]
ファイルを保存して閉じます。次に、wsgi.pyファイルに適切な権限を付与します:
sudo chown www-data:www-data /var/www/html/wsgy.py
sudo chmod 755 /var/www/html/wsgy.py
次に、HTTPプロトコルを介してこのファイルを提供するようにApacheを構成する必要があります。これを行うには、wsgi.confファイルを作成します:
sudo nano /etc/apache2/conf-available/wsgi.conf
次の行を追加します:
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
ファイルを保存して閉じます。次に、wsgi.pyファイルに適切な権限を付与します:
次に、mod-wsgi構成を有効にし、次のコマンドを使用してApacheサービスを再起動します。
sudo a2enconf wsgi
sudo systemctl restart apache2
mod-wsgiを使用してApacheでPythonスクリプトをテストする
次に、Webブラウザーを開き、URLhttp://example.com/wsgiを入力します。次のページにリダイレクトされます:
- ApacheWebサーバー
- mod_wsgi
- Ubuntu