ユーザ用ツール

サイト用ツール


wsgi

wsgi

apache2上でpythonを動かすためのインターフェース
ここではubuntuを使っている。

install

sudo apt install apache2-dev
pip3 install mod_wsgi

apache設定

インストールが完了したら、アパッチに組み込む。以下のコマンドの結果をwsgi.loadファイルに記載する

sudo mod_wsgi-express install-module

ubuntu(debian)では/etc/apache2/mod-availavbleにロード用のコンフィグを作成する 
wsgi.load

LoadModule wsgi_module "/usr/lib/apache2/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
WSGIPythonHome "/usr"

有効にする

sudo a2enmod wsgi

WSGIの最小限の設定

xxxx.com/wsgi/zzzz.pyとして動作させる場合
sites_available/wsgi.conf

Alias /wsgi /var/www/wsgi
<Directory /var/www/wsgi>
  Options ExecCGI
  AddHandler wsgi-script .py .wsgi
  AllowOverride All
  Order allow,deny
  Allow from all
  Require all granted
</Directory>

urlとの紐付け

以下の設定は000-defaultに設定しても良いし、flask.conf or wsgit.conf として設定してもよい
(以下のような動きを想定:URLを入力すると指定したスクリプトが実行される)
xxx.com/myapl/ とすると apl1.wsgiが実行される

WSGIScriptAlias /myapl /home/usr/pyapl/apl1.wsgi
<Directory /home/usr/pyapl>
  Options ExecCGI
  AllowOverride All
  Require all granted
</Directory>

日本語環境

mod_wsgiで動かす時に、UnicodeDecodeErrorが出てしまう https://qiita.com/kanjirz50/items/81104b60049ad7140b30

/etc/apache2/envvars

export LANG="en_US.UTF-8"
wsgi.txt · 最終更新: 2020/06/02 14:09 by nabezo