Nginxで特定のディレクトリにアクセス制限をかける

webalizerの集計結果なんかはアクセス制限かけておきたいんだけどNginxでどうやるのかねーと、ちょっと試行錯誤した結果、locationを入れ子にすればいいだけだった。

server {
           listen   80;
           server_name www.example.com;
           location / {
                       root   /var/www/html/;
                       index  index.html;
                       location /usage/ {
                            allow 127.0.0.1;
                            deny all;
                       }
           }
}

この本には書いてなかったと思う。

ProductName ハイパフォーマンスHTTPサーバ Nginx入門
Clement Nedelcu
アスキー・メディアワークス / 3150円 ( 2011-04-21 )


FlaskをNginx+gunicorn+supervisorで動かす

さくらのVPS 2Gに移行したので、ついでにHTTPサーバーをApacheからNginxに変えてみた。

Nginx+(gunicorn+Flask)は簡単に動かせたんだが、moniteringどうするかなぁとここ二日間悩んでいた。

ドキュメントにはCircus,Runit,Supervisorのやり方が載っていて、Circusが簡単そうに思えたんだが動かせなかったので、結局Supervisorで動かしている。

ProductName ハイパフォーマンスHTTPサーバ Nginx入門
Clement Nedelcu
アスキー・メディアワークス / 3150円 ( 2011-04-21 )


nginxでnode.jsを使う

node.js + nginx - And now?に書いてある通りにやればいい。

でもコメント見たら

location / { proxy_pass http://127.0.0.1:3000; }

だけでいいんじゃないの?って書いてあったので、試してみたらそっちでも動いた。ちょっとうごかしたいだけだったらこれでいいかな。

あとはforeverで動かせばいいみたい。

nginxの設定ファイルはapacheよりも分かりやすそうなので、さくらVPSでこのブログ(Flask製)動かしてるapacheもnginxに変えちゃおうかなぁと思った。

ProductName ハイパフォーマンスHTTPサーバ Nginx入門
Clement Nedelcu
アスキー・メディアワークス / 3150円 ( 2011-04-21 )