ApatchにDjangoプロジェクトをデプロイ(mod_wsgi)
ApatchにDjangoプロジェクトをデプロイ(mod_wsgi)
前回(AWSへvirtualenvを使用してPython3環境作成 (virtualenv))の記事からの続き。
Python3とvirtualenvがインストールされてる状態です。
※ 以下管理者ユーザで実行
環境
OS:Amazon Linux 2
Python:Python 3.7.0
Apatch : 2.4.34
mod-wsgi: 4.6.4
Apatchをインストール
Apatchをyumコマンドでインストールします。
Complete!が最後に表示されたら完了です。
※ AWSを使用している場合ブラウザからApatch公開画面を参照する為にはhttpの参照を許可する必要があります。
$ yum -y install httpd Loaded plugins: extras_suggestions, langpacks, priorities, update-motd ... Complete!
httpd-develをインストール
httpd-develをyumコマンドでインストールします。
Complete!が最後に表示されたら完了です。
$ yum install -y httpd-devel ... Complete!
python3-develをインストール
python3-develをyumコマンドでインストールします。
Complete!が最後に表示されたら完了です。
$ yum install -y python3-devel ... Complete!
env環境作成と実行
venvコマンドで/var/www配下へenvコマンドを作成します。
$ mkdir /var/www/envs $ cd envs $ python3 -m venv myenv
mod_wsgiインストール
作成した環境をactivateした後、pipコマンドにて「mod_wsgi」をインストールする。
Successfully installed が表示されたら完了。
$ source myenv/bin/activate $ pip install mod_wsgi
Apatchにmod_wsgiの設定ファイルを作成
「/etc/httpd/conf.d」配下に設定ファイル(xxxx.conf)ファイル作成
# venvで作成した環境モジュール LoadModule wsgi_module /var/www/envs/myenv/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so # venvで作成した環境フォルダパス WSGIPythonHome [env path] # Djangoで作成したプロジェクトフォルダパスを記載 WSGIPythonPath [Django Project Path] # Djangoで作成したアプリケーションフォルダパスを記載 WSGIScriptAlias / [Django AP Path]/wsgi.py # Djangoで作成したアプリケーションフォルダパスを記載 <Directory [Django AP Path]> <Files wsgi.py> Require all granted </Files> </Directory>