Apache2 : mod_wsgi の設定2024/05/31 |
mod_wsgi (WSGI : Web Server Gateway Interface) をインストールして、Python スクリプトの実行を高速化します。 |
|
[1] | [mod_wsgi] をインストールします。 |
root@www:~# apt -y install libapache2-mod-wsgi-py3
|
[2] | 例として [/var/www/html/test_wsgi.py] が [/test_wsgi] でアクセスできるよう設定します。 |
root@www:~#
vi /etc/apache2/conf-available/wsgi.conf # 新規作成
WSGIScriptAlias /test_wsgi /var/www/html/test_wsgi.py
a2enconf wsgi Enabling conf wsgi. To activate the new configuration, you need to run: systemctl reload apache2root@www:~# systemctl reload apache2
|
[3] | [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 Test Page\n' \ '</div>\n' \ '</body>\n' \ '</html>\n'.encode("utf-8") response_header = [('Content-type','text/html')] start_response(status,response_header) return [html] |
[4] | Django を利用する場合は以下のように設定します。( Django 環境の構築はこちらを参照 ) 例として、[ubuntu] ユーザー所有で [/home/ubuntu/testproject] 配下の [test_app] を動作させるよう設定します。 |
root@www:~#
vi /etc/apache2/conf-available/django.conf # 新規作成 WSGIDaemonProcess testapp python-path=/home/ubuntu/testproject:/home/ubuntu/django/lib/python3.12/site-packages WSGIProcessGroup testapp WSGIScriptAlias /django /home/ubuntu/testproject/testproject/wsgi.py <Directory /home/ubuntu/testproject> Require all granted </Directory> a2enconf django Enabling conf django. To activate the new configuration, you need to run: systemctl reload apache2
root@www:~#
systemctl reload apache2
# 当例のようにユーザー領域を使用する場合は要追加変更 root@www:~# ll -d /home/ubuntu drwx------ 5 ubuntu ubuntu 4096 May 31 04:10 /home/ubuntu/ root@www:~# chmod 711 /home/ubuntu |
Sponsored Link |
|