DJANGO python

windows10+apache+modwsgi+djangoの設定

2022/04/23

PR



2020/09/28

windows10+apache+modwsgi+djangoの設定

アナコンダ+DjangoでWebアプリを作成。完成したので公開する為にサーバのセットアップて所でエラー出まくり泣きそう。一応動くようになったのですがアナコンダで楽して後で痛い目にあった話。

このdjango開発するのはrunserverと言われる。テスト環境が用意されていて
開発するのも簡単にできるのです。・・・がいざ公開するとなるとrunserverではなくってwebサーバが必要になるのですね。

設定方法が昔と今で違うとかWindowsとlinuxの違いとかで悪戦苦闘。
一通りVM上で動くようになったので設定方法をメモします。

環境
VM+windows10+python3.7+apache24+modwsgi+django2

まず確認すること
modwsgiがなかなかくせ者この設定の為に下記を確認する必要あり
1.Windowsが32bitなのか64bitなのか。
2.pythonのバージョン。 python -Vで確認
3.apacheのVC15かVC16版なのか 9/28ではvc16版しかない。
※私がダウンロードした時はvc15版のmodwsgiがあったのでこれを使った
まずはこの3点を合わせる。

apacheインストール

1.apacheダウンロード
https://httpd.apache.org/ > apacheランジ を探してください。

apacheラウンジからwindows版apacheをダウンロード。

私はVC15版apacheを使ったが

最近のだとVC16版しかない。

解凍したものをc:\apache24にCOPY。

http.confのサーバ名

2.httpd -k installでインストール
VCRUNTIMEがないと出たらmicrosoftのサイトからVCランタイムを探してインストール
VC15かVC16かは正しいものをインストールする。
https://www.microsoft.com/ja-jp/download/details.aspx?id=48145

3.http -k startで起動
ブラウザからhttp://localhost
it work!と出たらOK。

pythonインストール

1.https://www.python.org/
python3.8.x とかpython3.7とあるのでお好きな方で。

私はpython3.7

2.普通にインストール。
https://www.python.org/downloads/windows/からカスタムインストール
インストール先をc:\python
pathのレはいらない。

3.インストールできたら
Windows環境変数にpathを追加
c:\ptrhon
c:\python\scripts

djangoインストール

pip install django

modwsgiインストール

私はこれをインストール。
mod_wsgi-4.7.0+ap24vc15-cp37-cp37m-win_amd64.whl

vc15がコンパイラのバージョン
cp37がpythonバージョン
amd64が64bit

今はmod_wsgi-4.7.1-cp37-cp37m-win_amd64.whlとかになっていてVC16のみ。

ダウンロートしたファイルを
pip install mod_wsgi-4.7.0+ap24vc15-cp37-cp37m-win_amd64.whl

c:\python37\lib\site-pakagesにインストールされる。

djangoのひな形を作る

mkdir c:\test
cd c:\test
django-admin startproject proj1
django-admin startapp app1
python manage.py runserver
動くか確認。

apache設定

http.conf

django settings.py

settings.py

django wsgi.py

wsgi.py

django static設定

css jsなどのフォルダをstaticフォルダに集めてくる。CSSなどがCOPYされる。adminの画面が崩れるなどはここに集まっていない為。

出ない時は
C:\Apache24\logsを見てデバッグ。

まとめ

知ってる人は常識とか言われるかもしれなが
linuxとwindowで違うことや世代ごとのバージョンで
違うことで嵌ったのでメモ。
次はwindowsServerにセットアップしてみよう。



-DJANGO, python
-,