AWS EC2์ React๋ฅผ Nginx๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌํ๋ฉด์, Nginx๋ฅผ ์ฒ์ ์ฌ์ฉํด ๋ณด๊ฒ ๋์๋ค.
์ด๋ฌํ ๊ฒฝํ์ ๋ฐํ์ผ๋ก Nginx์ ๋ํ์ฌ ์ ๋ฆฌํด ๋ณด๊ณ ์ ํ๋ค.
๊ณ ๊ณ ~๐บ
๐ค Nginx๋?
- Nginx๋ ๊ฒฝ๋ ์น ์๋ฒ์ด๋ค.
ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์์ ๋ ์์ฒญ์ ๋ง๋ ์ ์ ํ์ผ์ ์๋ตํด ์ฃผ๋ HTTP Web Server๋ก ํ์ฉ๋๊ธฐ๋ ํ๊ณ , Reverse Proxy Server๋ก ํ์ฉํ์ฌ WAS ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ ๋ก๋ ๋ฐธ๋ฐ์๋ก ํ์ฉ๋๊ธฐ๋ ํ๋ค.
๐ง Nginx ํ๋ก์ธ์ค
- Nginx๋ Event-Driven ๊ตฌ์กฐ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ํ ๊ฐ ๋๋ ๊ณ ์ ๋ ํ๋ก์ธ์ค๋ง ์์ฑํ์ฌ ์ฌ์ฉํ๊ณ , ๋น๋๊ธฐ ๋ฐฉ์์ผ๋ก ์์ฒญ๋ค์ Concurrency ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. ์์ ๊ทธ๋ฆผ์์ ๋ณด์ด๋ฏ์ด Nginx๋ ์๋ก์ด ์์ฒญ์ด ๋ค์ด์ค๋๋ผ๋ ์๋ก์ด ํ๋ก์ธ์ค์ ์ค๋ ๋๋ฅผ ์์ฑํ์ง ์๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค์ ์ค๋ ๋ ์์ฑ ๋น์ฉ์ด ์กด์ฌํ์ง ์๊ณ , ์ ์ ์์์ผ๋ก๋ ํจ์จ์ ์ธ ์ด์ฉ์ด ๊ฐ๋ฅํ๋ค. ์ด๋ฌํ Nginx์ ์ฅ์ ๋๋ถ์ ๋จ์ผ ์๋ฒ์์๋ ๋์์ ๋ง์ ์ฐ๊ฒฐ์ ์ฒ๋ฆฌํ ์ ์๋ค.
์ฆ, Nginx๋ ํธ๋ํฝ์ด ๋ง์ ์น์ฌ์ดํธ์ ํ์ฅ์ฑ์ ์ํด ์ค๊ณํ ๋น๋๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๊ตฌ์กฐ์ ์น์๋ฒ ์ํํธ์จ์ด์ด๋ค.
๐ Nginx ์ฌ์ฉ ์ด์
- ์์์ ์ค๋ช
ํ๋ฏ์ด, Nginx๋ ๋น๋๊ธฐ์ ์ด๋ฒคํธ ์ฒ๋ฆฌ ์ค์ฌ์ ์ํคํ
์ฒ๋ฅผ ์ฌ์ฉํ๋ค. Front-end ์๋น์ค๊ฐ ํฌ๊ฒ ์ฑ์ฅํ๋ฉด์ ์น ๊ธฐ๋ฐ์ ๋์ ์ฒ๋ฆฌ๊ฐ ๋งค์ฐ ์ค์ํ๊ฒ ๋์๋ค. Nginx๋ ๊ฒฝ๋์ ์์ ํ์ฉ๊ณผ ๋ฌผ๋ฆฌ์ ์ธ ํ๋์จ์ด๋ก ์ฝ๊ฒ ํ์ฅํ ์ ์๋ค. ์ ์ ์ธ ์ปจํ
์ธ ๋ค์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ฉฐ, ๋์ ์ฒ๋ฆฌ๋ฅผ ๋ณ๋๋ก ๋ด๋นํ๋ ์ํํธ์จ์ด ์คํ๋ค๊ณผ ์ฐ๊ณํด์ ๊ณ ์ฑ๋ฅ ์๋ฒ๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ ํฉํ๋ค๊ณ ์๋ ค์ก๋ค. ๋ํ Nginx๋ ํ๋ก์ ์๋ฒ ๊ธฐ๋ฅ๋ ์ ๊ณตํ๋ค.
๐ Apache vs. Nginx
-
Apache ํน์ง
- ์ค๋ ๋/ํ๋ก์ธ์ค ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ก, ์์ฒญ ํ๋๋น ์ค๋ ๋ ํ๋๊ฐ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ
- ์ฌ์ฉ์๊ฐ ๋ง์ผ๋ฉด ๋ง์ ์ฐ๋ ๋ ์์ฑ, ๋ฉ๋ชจ๋ฆฌ ๋ฐ CPU ๋ญ๋น๊ฐ ์ฌํจ
- ํ๋์ ์ค๋ ๋: ํ๋์ ํด๋ผ์ด์ธํธ๋ผ๋ ๊ตฌ์กฐ
-
Nginx ํน์ง
- ๋น๋๊ธฐ Event-Driven ๊ธฐ๋ฐ ๊ตฌ์กฐ
- ๋ค์์ ์ฐ๊ฒฐ์ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ๋๋ถ๋ถ์ ์ฝ์ด ๋ชจ๋์ด Apache๋ณด๋ค ์ ์ ๋ฆฌ์์ค๋ก ๋ ๋น ๋ฅด๊ฒ ๋์ ๊ฐ๋ฅ
- ๋ ์์ ์ค๋ ๋๋ก ํด๋ผ์ด์ธํธ์ ์์ฒญ๋ค์ ์ฒ๋ฆฌ ๊ฐ๋ฅ
๐ ๊ฒฐ๋ก
- Nginx์ ๋ํ์ฌ ์ ๋ฆฌํด ๋ณด๋ฉด์ Nginx๋ฅผ ์ฒ์ ์ฌ์ฉํ์ง ์ผ๋ง ๋์ง ์์, ์์ง Nginx์ ๋ํด ์๋ ์ ์ด ๋ง์ด ๋ถ์กฑํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ๋ํ, Nginx๊ฐ ๊ฐ๊ณ ์๋ ์ฅ์ ๋ค์ ํ์ฉํด์ ๋ ๊ฒฌ๊ณ ํ ์น์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๊ณ ์ถ๋ค๋ ์๊ฐ์ ํ๋ค. ์ด ๊ธ์ ์ถํ Nginx๋ฅผ ๋ ์ฌ์ฉํ๊ณ , Apache๋ ์ฌ์ฉํด ๋ณด๋ฉด์ ์
๋ฐ์ดํธํ ์์ ์ด๋ค.