概要
いくつか参考資料見たけど2018/01時点の情報でまとまってる資料がない感じだったのでさっくり作業ログをまとめてみるテスト。
めんどいので、基本root作業で。
Python3のインストール
yum install -y https://centos7.iuscommunity.org/ius-release.rpm
yum install -y python36u python36u-libs python36u-devel python36u-pip
Djangoのインストール
pip3.6 install django
一般ユーザ(tetsuo)でDjangoの動作確認
su - tetsuo
django-admin.py startproject myapp
treeの出力結果
.
└── myapp
├── manage.py
└── myapp
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
2 directories, 5 files
一般ユーザで開発用サーバの動作確認
まずはおまじない。
su - tetsuo
vi ~/myapp/myapp/settings.py
以下の内容で編集
編集前
ALLOWED_HOSTS = []
編集後
ALLOWED_HOSTS = ["*"]
開発用サーバの起動
python3.6 myapp/manage.py runserver 0.0.0.0:8000
ブラウザで
<サーバのグローバルIPアドレス>:8000
にアクセス。
本番環境の準備
yumでmod_wsgiをインストール
yum install -y python36u-mod_wsgi
/etc/httpd/conf.modules.d/10-wsgi-python3.6.conf
に設定ファイルが出来ているので編集する。
vi /etc/httpd/conf.modules.d/10-wsgi-python3.6.conf
編集内容はこんな感じ。
編集前
<IfModule !wsgi_module>
LoadModule wsgi_module modules/mod_wsgi_python3.6.so
</IfModule>
編集後
<IfModule !wsgi_module>
LoadModule wsgi_module modules/mod_wsgi_python3.6.so
WSGIScriptAlias / /home/tetsuo/myapp/myapp/wsgi.py
WSGIPythonPath /home/tetsuo/myapp/
<Directory /home/tetsuo/myapp/myapp>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</IfModule>
apacheの実行ユーザが /home/tetsuo の下を見れるようにしておく
chmod -R g+rx ~tetsuo
chgrp -R apache ~tetsuo
apache再起動
service httpd restart
ブラウザで
<サーバのグローバルIPアドレス>
にアクセス。