Apache httpd : mod_wsgi の設定2021/08/03 |
[mod_wsgi (WSGI : Web Server Gateway Interface)] をインストールして、Python スクリプトの実行を高速化します。
|
|
[1] | |
[2] | [mod_wsgi] をインストールします。 |
[root@www ~]# dnf -y install python3-mod_wsgi
|
[3] | 例として [/var/www/html/test_wsgi.py] が [/test_wsgi] でアクセスできるよう設定します。 |
[root@www ~]#
vi /etc/httpd/conf.d/python3_wsgi.conf # 新規作成
WSGIScriptAlias /test_wsgi /var/www/html/test_wsgi.py
systemctl restart httpd |
[4] | [2] で設定したテストスクリプトを作成して動作確認します。 |
[root@www ~]#
vi /var/www/html/test_wsgi.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' \ 'WSGI テストページ\n' \ '</div>\n' \ '</body>\n' \ '</html>\n'.encode("utf-8") response_header = [('Content-type','text/html')] start_response(status,response_header) return [html] |
[5] | Django を利用する場合は以下のように設定します。(
Django 環境の構築はこちらを参照 ) 例として、[rocky] ユーザー所有で [/home/rocky/venv/testproject] 配下の [test_app] を動作させるよう設定します。 |
[root@www ~]#
vi /etc/httpd/conf.d/django.conf # 新規作成 WSGIDaemonProcess test_app python-path=/home/rocky/venv/testproject:/home/rocky/venv/lib/python3.6/site-packages WSGIProcessGroup test_app WSGIScriptAlias /django /home/rocky/venv/testproject/testproject/wsgi.py <Directory /home/rocky/venv/testproject> Require all granted </Directory>
[root@www ~]#
systemctl restart httpd # 当例のようにユーザー領域を使用する場合 や SELinux 有効な場合は要追加変更 [root@www ~]# ll -d /home/rocky drwx------. 5 rocky rocky 144 Aug 3 11:11 /home/rocky[root@www ~]# chmod 711 /home/rocky [root@www ~]# setsebool -P httpd_read_user_content on |
Sponsored Link |
|