Nginx๋ก ๋ก๋๋ฐธ๋ฐ์ฑ ํ๊ธฐ
1. Nginx
2. ๋ก๋๋ฐธ๋ฐ์ฑ
3. Nginx๋ก ๋ก๋๋ฐธ๋ฐ์ฑ ํ๊ธฐ
1. Nginx
Nginx๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์น ์๋ฒ(web server) ์ค ํ๋์ ๋๋ค. ์ ์ ํ์ผ๊ณผ ๋์ ํ์ผ์ ๋ชจ๋ ์ ๋ฌํ ์ ์๋ WAS(Web Application Server)์ ๋ถ๋ด์ ์ค์ฌ์ฃผ๊ธฐ ์ํด ์น ์๋ฒ(web Server)๋ฅผ ์ฌ์ฉํฉ๋๋ค. Nginx๋ ์น ์๋ฒ(web server) ์ธ์๋ ๋ฆฌ๋ฒ์ค ํ๋ก์(reverse proxy), ๋ก๋๋ฐธ๋ฐ์(load balancer) ๋ฑ์ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
ํด๋น ํฌ์คํ ์์๋ Nginx์ ๋ก๋๋ฐธ๋ฐ์(load balancer) ๊ธฐ๋ฅ์ ๋ํด ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค.
2. ๋ก๋๋ฐธ๋ฐ์ฑ
ํ ์๋ฒ์ ํธ๋ํฝ์ด ๋ชฐ๋ฆด ๊ฒฝ์ฐ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ค์ผ์ผ ์ (scale up)๊ณผ ์ค์ผ์ผ ์์(scale out)์ด ์์ต๋๋ค.
์ค์ผ์ผ ์ (scale up)์ ์๋ฒ ๋ด์ CPU์ ๊ฐ์ ์ปดํจํฐ ์์์ ์ฑ๋ฅ์ ๋์ฌ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๊ณ ,
์ค์ผ์ผ ์์(scale out)์ ๋ค์์ ์๋ฒ๋ก ํธ๋ํฝ์ ๋ถ์ฐํ๋ ๊ธฐ๋ฒ์ ๋๋ค.
์ค์ผ์ผ ์์(scale out)์ ํ ๋ ๋ค์์ ์๋ฒ๋ก ํธ๋ํฝ์ ๋ถ์ฐํ๋ ๊ณผ์ ์ ๋ก๋๋ฐธ๋ฐ์ฑ,
๋ก๋๋ฐธ๋ฐ์ฑ์ ๋์์ฃผ๋ ๋๊ตฌ๋ฅผ ๋ก๋๋ฐธ๋ฐ์๋ผ๊ณ ํฉ๋๋ค.
3. Nginx๋ก ๋ก๋๋ฐธ๋ฐ์ฑ ํ๊ธฐ
- Nginx ์ค์
1. Nginx ์ค์น
$ brew install nginx
2. Nginx ์คํ
$ nginx
Nginx ์ค์น ํ ์คํ์ ํ์ฌ ์ค์น๊ฐ ์ ๋์๋์ง ํ์ธํฉ๋๋ค.
๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ ๋ ์ค๋ฅ ๋ฉ์์ง๊ฐ ์๋ค๋ฉด ์ค์น๊ฐ ์๋ ๊ฒ์ ๋๋ค.
3. Nginx ์ค์ง
$ nginx -s stop
4. nginx.conf ํ์ผ์ด ์กด์ฌํ๋ ๊ฒฝ๋ก๋ก ์ด๋
$ cd /opt/homebrew/etc/nginx
Nginx ํ์ผ์ ์์ ํ๊ธฐ ์ํด nginx.conf ๊ฐ ์๋ ํ์ผ ๊ฒฝ๋ก๋ก ๋ค์ด๊ฐ๋๋ค.
5. nginx.conf ํ์ผ ์ด๊ธฐ
$ vim nginx.conf
6. nginx.conf ํ์ผ ์์
vim์ผ๋ก ๊ธ ์์ฑํ ๋๋ i ๋ฅผ ๋๋ฌ์ค๋๋ค.
upstream backend {
server localhost:8001;
server localhost:8002;
server localhost:8003;
}
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Port $server_port;
๊ธฐ์กด์ ์ค์ ์ฝ๋์์ ์์ ๊ฐ์ ์ฝ๋๋ฅผ ์๋์ ์ฌ์ง์ฒ๋ผ ์ถ๊ฐํด์ค๋๋ค.
์ ์ฅํ ๋๋ ctrl+c ๋ฅผ ํ ํ, :wq ๋ฅผ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
- Springboot ์ค์
1. Config ํ์ผ ์ค์
์ฌ๋ฌ ๊ฐ์ ํฌํธ๋ฅผ ์ด์ด์ค๋๋ค.
2. Controller ํ์ผ ์ค์
๋ก๋๋ฐธ๋ฐ์ฑ์ด ์๋๋์ง ํ์ธ์ ์ํ ์ปจํธ๋กค๋ฌ์ html ์ฝ๋๋ฅผ ์์ฑํด์ค๋๋ค.
html ์ฝ๋๋ ํด๋น ํฌํธ๋ฒํธ๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ผ๋ก ๊ตฌ์ฑํ์์ต๋๋ค.
- ์ต์ข ํ ์คํธ
nginx์ springboot ํ๋ก์ ํธ๋ฅผ ์คํํ์ฌ localhost:80์ ์ ์ํฉ๋๋ค.
์ค๋ฅธ์ชฝ์ ๋ก๊ทธ๋ฅผ ํตํด ์ฌ๋ฌ ๋ฒ ์ ์ํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ ์ํ ๋๋ง๋ค 8001, 8002, 8003์ ํด๋นํ๋ ํ๋ฉด์ผ๋ก ๋ก๋๋ฐธ๋ฐ์ฑ ๋๋ ๋ชจ์ต์ ํ์ธํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
Nginx ์ค์น ๋ฐ Load Balancing ์ ์ฉํ๊ธฐ (MacOS)
1. Nginx (N-ginx๊ฐ ์๋ engine-X๋ผ๊ณ ๋ฐ์ํฉ๋๋ค) Nginx๋ ์ต์ ์น์ ์ฆ๊ฐํ๋ ์๊ตฌ๋ฅผ ์ง์ํ๊ธฐ ์ํด ๊ฐ๋ฐ๋ ๊ณ ์ฑ๋ฅ ์น์๋ฒ์ ๋๋ค. Nginx๋ ์ ์ ์์์ ์ฌ์ฉ์ผ๋ก ๋์ ์ฑ๋ฅ๊ณผ ๋์ ๋์์ฑ์ ๋ชฉํ๋ก ๋ง
seunghyunson.tistory.com
[Nginx] ๋ก๋๋ฐธ๋ฐ์ฑ ๊ฐ๋ ๋ฐ ๊ตฌ์ถ - 1
์๋ฒ์ ๊ณผ๋ถํ๋ก ์ธํ shutdown์ ๋ง๊ธฐ ์ํด ์น์๋ฒ๋ก ์ด์ฉํ๊ณ ์๋ Nginx๋ฅผ ๋ก๋๋ฐธ๋ฐ์๋ก ์ฌ์ฉํ๊ณ ์ ์์๋ณด์์ต๋๋ค. ๋จผ์ ์ ๋ nodejs(express)๋ก ์๋ฒ๊ฐ ์ด๋ฃจ์ด์ ธ ์๊ณ ์๋จ๊ณผ ๋ท๋จ์ nginx๋ฅผ ํ๋ก
velog.io
๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์ !
ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์์ ๋๋ค <3
'๐ Infra' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Cloud] Spring Cloud (0) | 2025.02.11 |
---|---|
[CI/CD] Github Actions, Jenkins (0) | 2025.01.15 |
[MQ] Pub/Sub ๊ตฌ์กฐ - RabbitMQ, Kafka, Redis (0) | 2025.01.13 |
[Docker] Docker, Docker Compose, Kubernetes (0) | 2025.01.13 |
[MQ] Springboot STOMP ํ๋กํ ์ฝ์ผ๋ก Web Socket ํต์ ํ๊ธฐ (0) | 2025.01.12 |