ほんとに1からnginx触る
vagrantの環境用意
hnakamur/ubuntu-14.04-x64 https://vagrantcloud.com/hnakamur/ubuntu-14.04-x64
nginx install
sudo apt-get install nginx curl sudo service nginx start curl http://localhost:80
ok
nginxの設定を有効にする
/etc/nginx/nginx.confを見る。以下の様な設定が書いてある。
http { ## skip.. include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
- sites-enabled以下に書くapacheっぽい書き方
- conf.d以下にfoo.confを書く書き方がある。(無効にする時はfoo.disabledなどにrenameするらしい)
したがって、includeの通りの場所に書けば良いらしい。
nginxでエラーログ/アクセスログの出力を見る
defaultでは/etc/nginx.confに以下の様な設定が書いてある。
## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;
/var/log/nginx以下にログが出力される。
/var/log/nginx/access.log
.... 10.0.2.2 - - [06/Aug/2014:07:24:58 +0000] "GET /static/foo.txt HTTP/1.1" 404 151 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:31.0) Gecko/20100101 Firefox/31.0"
/var/log/nginx/error.log
defaultではlog levelがerrorなのでerrorにならない以外error.logに出力されない。 log levelは以下の通り
- debug
- info
- notice
- warn
- error
- crit
- alert
- emerg
log levelをdebugにしてみる
error_log /var/log/nginx/error.log debug;
既存の設定無効にする。
ubuntuはdefaultで/etc/nginx/site-enabledにdefaultというlinkが貼られている。 /etc/nginx/conf.d/以下に自分で設定書く時不要なのでsymlink消す。
sudo rm /etc/nginx/site-enabled/default
nginxでstatic file をserveする。
/static/以下を/var/www/static以下に
rootを使う。
/etc/nginx/conf.d/staticserve.conf
server { listen 80 default_server; location /static { root /var/www; } }
/public/static/以下を/var/www/static以下に
alias使う。
/etc/nginx/conf.d/staticserve.conf
server { listen 80 default_server; location /static { root /var/www; } location /public/static { alias /var/www/static; } }
参考
Beginner’s Guide http://nginx.org/en/docs/beginners_guide.html#static
Core functionality http://nginx.org/en/docs/ngx_core_module.html
nginx連載3回目: nginxの設定、その1 - インフラエンジニアway - Powered by HEARTBEATS http://heartbeats.jp/hbblog/2012/02/nginx03.html