diadia

興味があることをやってみる。独学で勉強しています。初心者から始めたので困ったことを書いて同じ境遇の方のヒントになればと思います。

nginx

centos7にdjangoをインストールしてそのままpython manage.py runserverをすると、

December 18, 2018 - 18:30:37
Django version 2.1.4, using settings 'project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

と表示される。settings.pyでallowed hostを登録し、DEBUG False にしたにもかかわらずだ。自分の想像ではこれでブラウザでサーバにアクセスしたらロケットの絵柄が表示されると思ったが、そうではないらしい。これはnginxとdjangoがつなげる設定ができていないからか?それともpython manage.py runserver というコマンド自体がおかしいからか?もうちょっと進めてみようと思う。nginxのドキュメントを漁るのも手か。

nginxドキュメント

nginxドキュメントの日本語ばーじょんがあった。ここ。

nginxとそのモジュールの動き方は設定ファイルで決定されます。デフォルトでは、設定ファイルはnginx.confという名前で、/usr/local/nginx/conf, /etc/nginx, または /usr/local/etc/nginxのディレクトリの中にあります。
と書いてある。つまりnginxではnginx.confという設定ファイルを編集することでnginxの動きを定めることができるというわけだ。その他の方法としては、/etc/nginx/conf.d以下に設定ファイルを作成し書くという方法がある。こっちのほうがデフォルトのファイルを直接書き換えるわけではないのでおすすめのようだ。
他にはnginxだけで動かせるのかという疑問も出てきた。
これについて調べた結果、centos7,nginx,django,pythonだけでは動かせないことが分かった。uwsgiはnginxが受けたものを渡し、uwsgiがdjangoを動かすようだ。
てことで、centos7,nginx,django,python,uwsgiが必要となる。
参考にしたページ
で新たな疑問、gunicornってなんのためにあるのか??