ํผ์ผ์ด์ Nginx ๋ฐํ๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ ๋ด์ฉ์
๋๋ค.
"์ด๋ป๊ฒ ์ฐ๋๊ฐ"๋ณด๋ค "์ ์จ์ผ ํ๋๊ฐ"์ ์ง์คํ ๋ด์ฉ์
๋๋ค.
๐งฉ Nginx๋ ๋ฌด์์ธ๊ฐ
- ์น ์๋ฒ + ๋ฆฌ๋ฒ์ค ํ๋ก์ + ๋ก๋ ๋ฐธ๋ฐ์ + HTTP ์บ์๋ก๋ ์ฌ์ฉํ ์ ์๋ ์ํํธ์จ์ด
- ์ด๋ฒคํธ ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ก ์ค๊ณ๋จ
- ๋ฐ์ด๋ ์ฑ๋ฅ๊ณผ ๊ฐ๋ฒผ์์ผ๋ก ์น์๋ฒ ์ ์ ์จ 1์
๐ฅ Apache vs Nginx
Apache์ ๊ตฌ์กฐ
- 1995๋
NCSA HTTPd ๊ธฐ๋ฐ์ผ๋ก ํ์
- ์์ฒญ๋ง๋ค ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ ๊ตฌ์กฐ
- ์์ฒญ ์๊ฐ ๋ง์์ง๋ฉด ๋ฉ๋ชจ๋ฆฌ ์๋ชจ์ ์ปจํ
์คํธ ์ค์์นญ ์ฆ๊ฐ

Prefork ๋ฐฉ์
- ์์ฒญ ์ ์ ๋ฏธ๋ฆฌ ํ๋ก์ธ์ค๋ฅผ ์์ฑํด๋์
- ๋ชจ๋ ์์ฒญ์ ๋๊ธฐ์ ํ๋ก์ธ์ค ๊ธฐ๋ฐ์ผ๋ก ์ฒ๋ฆฌ
- UNIX ๊ณ์ด OS๊ฐ ๋คํธ์ํฌ ์ปค๋ฅ์
์ ํ์ฑํ๋ ๋ชจ๋ธ์ ๊ทธ๋๋ก ์ ์ฉํ ๊ฒ

ํ์ฅ์ฑ์ ์ข์ง๋ง...
- ๋ชจ๋ ๊ฐ๋ฐ์ ์ฌ์
- ํ์ง๋ง ๊ตฌ์กฐ์ ํ๊ณ๋ก ๋์ ์ปค๋ฅ์
์ฒ๋ฆฌ์ ์ฝํจ
- ๊ฒฐ๊ตญ C10K ๋ฌธ์ ์ ์ง๋ฉดํ๊ฒ ๋จ
โ ๏ธ C10K ๋ฌธ์ ์ Nginx์ ๋ฑ์ฅ
- Connection 10,000 Problem
- Apache๋ ํ๋ก์ธ์ค๋ฅผ ๊ณ์ ์์ฑํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ํญ๋ฐ
- Keep-Alive(ํด๋น ์ต์
์ ์ ํ ์๊ฐ๋งํผ ์ปค๋ฅ์
์ ์ง) ์ปค๋ฅ์
์ด ๋ง์์ง์๋ก Apache๋ ํ๊ณ์ ๋๋ฌ
Nginx์ ํด๊ฒฐ ์ ๋ต
- 2004๋
๋ฑ์ฅ
- Apache ์๋จ์ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ก ๋ฐฐ์น
- ์ ์ ํ์ผ ์ฒ๋ฆฌ๋ Nginx๊ฐ ๋ด๋น
- Apache๋ ๋์ ์์ฒญ ์ฒ๋ฆฌ๋ง ์ ๋ด
โ๏ธ Nginx ์ํคํ
์ฒ
Event-driven ๋ชจ๋ธ
- ๋ง์คํฐ ํ๋ก์ธ์ค: ์ค์ ๋ก๋ ๋ฐ ์์ปค ํ๋ก์ธ์ค ์์ฑ
- ์์ปค ํ๋ก์ธ์ค: ์์ฒญ ์ฒ๋ฆฌ, ์ปค๋ฅ์
๊ด๋ฆฌ

- ๋ค๋ชจ ์นธ๋ค์ด ํ ์์ ๋ณด๋ฉด ์ปค๋ฅ์
์ ์์ฑํ๊ฑฐ๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ด๋ฒคํธ๋ก ์ฑ์์ ธ ์๋ ๊ฒ์ ๋ณผ ์ ์์
- ์ด๋ฌ๋ฉด ์์ปค ํ๋ก์ธ์ค๊ฐ ์ฌ์ง ์๊ณ ๊ณ์ํด์ ์ผ์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ
- CPU์ ์ปจํ
์คํธ ์ค์์นญ ์ฌ์ฉ์ ์ค์
์ปค๋ฅ์
์ฒ๋ฆฌ ๋ฐฉ์
- ์ด๋ฒคํธ ํ ๊ธฐ๋ฐ
- ์์ปค๋ ์ปค๋ฅ์
ํ๋์ ๊ณ ์ ๋์ง ์์
- ๋น๋๊ธฐ ๋ฐฉ์์ผ๋ก ์ฌ๋ฌ ์์ฒญ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌ
๊ธด ์์
์?
- ๋ณ๋์ ์ค๋ ๋ ํ์์ ์ฒ๋ฆฌ
- ์์ปค๋ ๋ค์ ์ด๋ฒคํธ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ
๐ข Nginx ๋จ์
- ๊ฐ๋ฐ์๊ฐ ๋ชจ๋์ ์ง์ ๋ง๋ค๊ธฐ๊ฐ ๊น๋ค๋ก์
- ํ์ง๋ง ๋จ์ ์ ๋นํด ์ฅ์ ์ด ๋ช
ํํด ๋ง์ด ์ฌ์ฉํจ
๐ ๋์ ์ค์ ๋ณ๊ฒฝ
- ์ค์ ๋ณ๊ฒฝ ์ Nginx๋ฅผ ์์ ํ ์ข
๋ฃํ ํ์ ์์
- ๋ง์คํฐ๊ฐ ์๋ก์ด ์ค์ ์ผ๋ก ์์ปค ๊ต์ฒด
- ๊ธฐ์กด ์์ปค๋ ๊ธฐ์กด ์ปค๋ฅ์
์ ์ฒ๋ฆฌํ ๋ค ์ข
๋ฃ
โ
์ค์๊ฐ ๋ก๋๋ฐธ๋ฐ์ฑ ๊ตฌ์ฑ ๊ฐ๋ฅ
โ
์๋น์ค ์ค๋จ ์์ด ์๋ฒ ํ์ฅ ๊ฐ๋ฅ
๐ Nginx๊ฐ ์ธ๊ธฐ ์๋ ์ด์
| Apache | Nginx |
|---|
| ๋ค์ํ ๋ชจ๋ | ๊ตฌ์กฐ๊ฐ ๋จ์ํ๊ณ ๊ฐ๋ฒผ์ |
| ํ์ ํธํ์ฑ ์ข์ | ๋์ ์ปค๋ฅ์
์ฒ๋ฆฌ์ ๊ฐํจ |
| ์๋์ฐ ํธํ ์ฐ์ | ๋ฆฌ๋
์ค ๊ธฐ๋ฐ์์ ์ฑ๋ฅ ์ฐ์ |
- 2008๋
๋ถํฐ ์ ์ ์จ ์ญ์ ์์
- ํ์ฌ๋ ๋๊ท๋ชจ ํธ๋ํฝ ์ฒ๋ฆฌ ์์คํ
์์ ์ฌ์ค์ ํ์ค
๐ ์ค์ ํ์ฉ: ์ด๋์ ์ฐ๋ฉด ์ข์๊น?
1. SSL ํฐ๋ฏธ๋ค์ด์
- ํด๋ผ์ด์ธํธ์๋ HTTPS, ์๋ฒ์๋ HTTP
- ์๋ฒ์ ๋ณตํธํ ๋ถํ ์ ๊ฑฐ
2. ์ ์ ๋ฆฌ์์ค ์บ์ฑ
- CDN ๋๋ ์ฃ์ง ์๋ฒ์ฒ๋ผ ํ์ฉ
- ์๋ต ์๋ ๊ฐ์ , ์๋ฒ ๋ถํ ๊ฐ์
3. CORS ์ฒ๋ฆฌ / HSTS / HTTP/2 ์ง์
- ๋ณด์ ์ ์ฑ
์ฒ๋ฆฌ๋ Nginx๊ฐ ๊ฐ๋ฅ
โ
์ ๋ฆฌ
- Nginx๋ ๋์ ์ปค๋ฅ์
์ฒ๋ฆฌ์ ๊ฐํ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์น ์๋ฒ์
๋๋ค.
- Apache๋ ๋ชจ๋์ฑ๊ณผ ์์ ์ฑ์ด ๊ฐ์ ์ด์ง๋ง, ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ์์ต๋๋ค.
- ํ๋ ์น ์ํคํ
์ฒ์์๋ Nginx๋ฅผ ์ ์ ๋ฆฌ์์ค ์ฒ๋ฆฌ + ๋ฆฌ๋ฒ์ค ํ๋ก์ + ๋ถํ ๋ถ์ฐ์ฉ์ผ๋ก ์ ๊ทน ํ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์
๋๋ค.
๐ฅ ์ฐธ๊ณ ์๋ฃ
๐บ ํผ์ผ์ด์ Nginx