VPS作業記録7
今日(1/24)はnginxの設定をやります。
英語のチュートリアルを読んで挫折して以来の再挑戦です。
基本的な設定ファイルの書き方を知って、
最低限、静的なファイルを返せるサーバーにすることです。
先日発売されたばかりの「nginx実践入門」を片手に作業します。
amzn.to
公開するデータの置き場所は
/data/html
ディレクトリにすることにしました。
特に、振り分けたりもしないので、デフォルトのconfに書き加えたいきます。
... 省略 ... http { ... 省略 ... server { listen 80 default_server; root /data/html; } }
だけ。
設定を反映させたいので、
# service reload nginx
のコマンドでリロートする(そもそも、起動してなければ起動)。
あとは、/data/htmlの下に、適当なhtmlファイルをおけば、「http://"自分のGlobal IPアドレス"/ファイル名」でアクセスすることができる。
まったく意味不明だったconfファイルの書き方が、nginx実践入門を読んでわかりました。
これだけだと味気ないので、ちょっといじる(要参照:nginx実践入門の4.1 静的コンテンツの配信)
indexディレクティブ
ほげ/っていうページにアクセスしたときに、自動的にほげ/index.htmlを返す設定。index.htmlという名前以外のものも設定できる。デフォルトでindex.htmlを返してくれるので、とくにいじらない。
autoindexディレクティブ
そのディレクトリの一覧がずらっと表示されるあの(どの?)ページのこと。ネットに公開するような場合は、offにしておくことが多いらしい(確かに、不用意に公開するものでもないですよね・・・)。ですが、autoindexディレクティブでonにすれば、簡単に設定可能。
error_pageディレクティブ
エラーページを返す設定のところ。たとえば、ファイルが存在しないURIにアクセスされたときに返すページ(404 NOT FOUND)のページを、自分で作ったやつに差し替えることができる。
... 省略 ... http { ... 省略 ... server { listen 80 default_server; root /data/html; error_page 404 /404.html } }
として、さっきと同じようにconfをリロードさせて、/data/htmlに404.htmlを作る。
これで、自分の404ページを作ることができた。
今後の課題的なこと。
1. Basic認証も設定してみたい。
2. Djangoの前準備
VPS→CentOS→nignxときたら、次は、よーーーーやく、Djangoだと思ったら、
WSGI 環境にデプロイする方法 — Django 1.4 documentationをみると、Apacheならmod_wgsiですが、
あとは、uWSGIとgunicornみたいです。
ネットで情報探してみると、「nginx uWSGI」やら「nginx gunicorn」やらがでてきたので、もうひとステップぐらいありそうです。
コンテナサーバーとはなんぞや、とかそこらへんから。
uWSGIとかgunicornってなんやろは、ここ(便利で超強力なWSGIサーバー uWSGI を使ってみよう - 檜山正幸のキマイラ飼育記)とかを読む。
それか、nginx(FastCGI)+(flup+)Djangoみたいな感じ?
参考:Django FastCGI | NGINX
参考:サーバー — Django Best Practices
参考:FastCGI, SCGI, AJP で Django を使う — Django 1.4 documentation