diadia

興味があることをやってみる

djangoデプロイ

さくらVPSでデプロイの練習をして公開まで一度することができた。参照したのはここ。かなりわかりやすかった。
これでcentos7, nginx, django, python, gunicornを使ったやり方を真似してできるようになったわけだ。
次にやりたいのは、postgresqlを導入することと、実際にdjangoのアプリケーションをサーバに入れてデプロイすることだ。

少しわかったことを記録する

まずnginxの役割はブラウザからリクエストがきたら画像やcssなどの静的ファイルを配信し、それ以外のリクエストをdjangoのアプリケーションを制御するwsgi(gunicorn)にわたす。gunicornはdjangoをコントロールして結果をクライアントに渡す。nginxの設定ファイルは2通りの方法で定めることができる。デフォルトの設定ファイルをいじるのではなく、新たに作成する方法の場合、/etc/nginx/conf.d以下に.confの拡張子をつけ作成する。設定はserver{ 設定内容 }として記述する。設定内容はlisten,server_name,locationで良いみたいだ。gunicornはpipでインストールする。でgunicorn --bind 127.0.0.1:8000 [djangoアプリ].wsgi:applicationとするとnginxとgunicornとwsgiが動き出し、ブラウザにてアプリケーションが動いているのを確認することができる。で、[djangoアプリ].wsgiってのはwsgi.pyのことで、これを自分で作成することもできるみたいだ。だからデプロイ環境用のwsgi.pyを作ることもできる。これはすごいことでwsgi.py内にsettings.pyの記述をするんだけど、このsettings.pyも本番環境用に作成していれば、デプロイ時にsettings.py の中身を編集する必要がなくなる。