apache2上でpythonを動かすためのインターフェース
ここではubuntuを使っている。
sudo apt install apache2-dev pip3 install mod_wsgi
インストールが完了したら、アパッチに組み込む。以下のコマンドの結果を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
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>
以下の設定は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"