kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Nginx

nginxdemos/nginx-hello イメージを使うと簡単に「コンテナ ID」を確認できる

コンテナを複数起動して,ロードバランサーなどを使って「期待通りに振り分けできているよ!」という挙動をデモで見せたいときがある.実際に最近あった.例えば nginx:alpine イメージを使うと,全て同じ index.html から Welcome to nginx! とレスポンスを…

nginx でアクセスログを JSON フォーマットにする場合は「escape=json」を設定する

nginx で nginx.conf に access_log と log_format を設定すると,ログフォーマットをカスタマイズできる.log_format のデフォルト設定は combined だけど,ログ集計などを考慮して,JSON フォーマットに変更する場面も多いと思う.例えば,以下のように lo…

nginx でリクエストを制限できるモジュール「ngx_http_limit_req_module」

nginx でリクエストを制限できるモジュール「ngx_http_limit_req_module」を使うと,Throttling や DoS 対策など,リクエストの過剰な増加に nginx で対応できるようになる.挙動を確認するため,Docker Compose を使って検証環境を構築した. nginx.org 検…

nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」

nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」を使うと,簡易的な「Shadow Proxy」を構築することができる.例えば,本番環境のリクエストの一部を開発環境に流せるようになる.この「ngx_http_mirror_module」は nginx 1.13.4 で実…

Chef で nginx-build を使って nginx をインストールしてみた

前から気になってた nginx-build を少し使ってみて,非常に良さそうだったので,Chef から実行できるようにしてみた.レシピはもっと改善して書けそう.nginx-build に関しては以下を参照で良いかと. github.com tech.mercari.com レシピ 以下に nginx 1.9.…

headers-more-nginx-module でヘッダー情報を変更する

github.com nginx でヘッダー情報を変更できる headers-more-nginx-module を試してみた.nginx に標準に入っている Module ngx_http_headers_module と比べて Content-Type や Content-Length などのビルトインヘッダーを消すことができる点にメリットがあ…

Mac に導入した nginx を起動/停止/再起動する

こんな感じで! # 起動 $ sudo nginx # 停止 $ sudo nginx -s stop # 再起動 $ sudo nginx -s reload プロセスを確認するならこんな感じで! $ ps -ef | grep nginx | grep -v grep 0 1634 1 0 6:32PM ?? 0:00.00 nginx: master process nginx -2 1635 1634 …