LoginSignup
1
3

More than 3 years have passed since last update.

nginxの動作検証環境をDockerを用いて構築する

Last updated at Posted at 2020-06-01

手軽に nginx の設定ファイルを修正し,動作確認ができる環境を作成.

ディレクトリ構成
./handson_nginx
├── README.md
├── docker
│   ├── nginx
│   │   ├── Dockerfile
│   │   ├── nginx.conf
│   │   ├── nginx.repo
│   │   └── nginx_with_comment.conf
│   └── springboot
│       └── Dockerfile
├── docker-compose.yml
└── nginx_log
    ├── README.md
    ├── access.log
    └── error.log

何が嬉しい?

  • nginx.conf の設定内容の動作検証を手軽に行うことができる
    • docker-compose を用いて nginx の裏に springboot が存在する環境を手軽に立ち上げられる
    • nginx.conf を変更したら docker-compose コマンドを再度走らせるだけで設定が適用される
    • nginx のエラーは内容は error.log に即座に書き出されるので設定ファイルの何が間違っているのかがすぐに分かる

使用手順

立ち上げてみる
git clone https://github.com/kayamin/handson_nginx.git
docker-compose up -d
docker ps
リクエストを投げてみる
# springboot コンテナへ直接リクエスト
curl -v localhost:8090/hello 

# nginx コンテナに対してリクエスト -> springboot コンテナへプロキシされる
# access.log にログが追加されるので確認
curl -v localhost:80/hello 

# springboot コンテナへ直接リクエスト
curl -v localhost:8090/addtwo/4

# nginx コンテナに対してリクエスト -> rewrite された上で springboot コンテナへプロキシされる
# error.log にリライトのログが追加されるので確認
curl -v localhost:80/foward_proxy2/4/addtwo
nginx.confを修正して反映する
# nginx.conf を好きなように編集する
~

# 再度docker-composeコマンドを実行する
# nginx.conf の修正を検出して nginx イメージが再作成され立ち上がる
docker-compose up -d --build

# nginxコンテナが立ち上がらない場合は何かしらエラーが出ていないか error.log を確認
docker ps

備考

  • springboot 側には /hello, addtwo/{$num} APIのみ用意

参考

所感

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3