Debianでnginxをビルド&ヴァーチャルホストの設定
自分のメモもかねて大雑把にいきます。
nginxのビルド
まずビルドとか諸々に必要なものの用意から。
sudo apt-get install build-essential libpcre3 libpcre3 zlib1g zlib1g-dev openssl libssl-dev
次にnginxのソースコードを準備する。今回は最新の安定板を用意した。
mkdir src cd src wget http://nginx.org/download/nginx-1.2.2.tar.gz
そして、展開ィ!コンパイルぅ!
tar zxf nginx-1.2.2.tar.gz cd nginx-1.2.2 ./configure make sudo make install
で、コンパイルしていくんですがconfigureするときにオプションつけてあげると
パスとかモジュールのオンオフを設定できる。以下は.confの位置を指定してる。
./configure --conf-path=/etc/nginx/nginx.conf
パッケージ版は試してないのでどうなのかわからないけど、
自前でコンパイルした場合、基本的に
/usr/local/nginx
以下にに全部入れられるっぽいです。
パスの設定とか、モジュールのこと一通り書いてると本が一冊かけてしまうので、省略。
(というか本売ってます。)
今回、僕はその本の通りにコンパイルした。
./configure --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module
設定の内容は、ユーザー・グループの指定、
SSLモジュールとReal IPモジュールってのをオンにした。
ネットで検索かけると、user=nginxってしたりする例も見かけたんだけど、
深く考えないで、問題でたら直せばいいかくらいの感じで設定した。
で、configureを失敗することがあって必要なライブラリが足りないとか出てくる。
僕の場合「SSLの場所がわからん」ってエラーがでた。
パスを指定してるのに解決できなくて悩んだけど、
nginxのソース自体のバージョンを上げたらすんなりコンパイルできた。
モジュールをオンにすると必要なライブラリとかも変わるだろうから、注意するべきところだと思う。
あと、環境によって様々だから同じ事しても失敗することもあるとかないとか。(@komagataさんに教えてもらいました。)
奥が深いね!
次ぎにinitスクリプトを書くなり拾ってくるなりする。
ネットで検索すれば出てきます。活用しましょう。
http://wiki.nginx.org/InitScriptsJa
そして、initスクリプトを配置したら
update-rc.d -f nginx defaults
とかやって適切なランレベルでスクリプトが自動で実行されるようにしましょう。
バーチャルホストの設定
お名前でドメインとってるからDNS関連の設定はネットでやった。
肝心のnginxの設定。
僕はパスの設定してないから
/usr/local/nginx/conf/nginx.conf
にあった。
デフォルトである程度書いてあるし、バーチャルホストの部分のみ簡潔に説明。
http { server { listen 80; server_name test.com location { root html index index.html index.htm; } } server { listen 80; server_name hoge.test.com location { root /path/to/vitualhost index index.html index.htm; } } }
こんな感じでホストごとにサーバーのブロックをつくるだけ。
インデントきもいかな...
ここには書いてないけど、SSLの設定はここが参考になりました。
http://dogmap.jp/2011/05/10/nginx-ssl/
感想
書くのめんどくさくなってきて最後の方が雑。
あと、書慣れてないから読み直すと日本語がおかしい。
知識があいまいなので、間違いあったら指摘していただけるとありがたいです。
最後に...
怖話のAndroidアプリでました!!!