Help us understand the problem. What is going on with this article?

CentOS 7 + python3 + Djangoの本番環境を動かしてみる

More than 1 year has passed since last update.

概要

いくつか参考資料見たけど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

にアクセス。

こんな画面になってたらOK。
Kobito.2Ssap8.png

本番環境の準備

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アドレス>

にアクセス。

こんな画面になってたらOK。
Kobito.7uxcSm.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away