====== 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
Options ExecCGI
AddHandler wsgi-script .py .wsgi
AllowOverride All
Order allow,deny
Allow from all
Require all granted
=== urlとの紐付け ===
以下の設定は000-defaultに設定しても良いし、flask.conf or wsgit.conf として設定してもよい \\
(以下のような動きを想定:URLを入力すると指定したスクリプトが実行される) \\
xxx.com/myapl/ とすると apl1.wsgiが実行される
WSGIScriptAlias /myapl /home/usr/pyapl/apl1.wsgi
Options ExecCGI
AllowOverride All
Require all granted
==== 日本語環境 ====
mod_wsgiで動かす時に、UnicodeDecodeErrorが出てしまう
https://qiita.com/kanjirz50/items/81104b60049ad7140b30
/etc/apache2/envvars
export LANG="en_US.UTF-8"