GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04でApacheとmod_wsgiを使用してPythonスクリプトを実行する方法

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

Ubuntu
  1. UbuntuでCプログラムをコンパイルして実行する方法

  2. Ubuntu18.04および16.04にApacheMavenをインストールする方法

  3. Ubuntu 20.04および18.04にPythonをインストールするにはどうすればよいですか?

  1. Ubuntu18.04でApacheを使用してNextcloudをインストールおよび構成する方法

  2. Ubuntu18.04でApacheを使用してphpMyAdminをインストールして保護する方法

  3. Ubuntu18.04でApacheを使用してownCloudをインストールおよび構成する方法

  1. Ubuntu18.04および20.04にPythonPipをインストールする方法

  2. Ubuntu 15.10にApache、MySQL、SSLを使用してDrupal8をインストールする方法

  3. Ubuntu16.04でVarnishとApacheを使用してMagento2をセットアップする方法