Ver3.0 ๐ฅ๏ธ IIS vs ์ํ์น: ์๋์ฐ ํ๊ฒฝ์์์ ์น ์๋ฒ ์ฑ๋ฅ ๋น๊ต

๐ฅ๏ธ IIS vs ์ํ์น: ์๋์ฐ ํ๊ฒฝ์์์ ์น ์๋ฒ ์ฑ๋ฅ ๋น๊ต
์๋์ฐ ์๋ฒ ํ๊ฒฝ์์ ์ต์ ์ ์น ์๋ฒ๋ฅผ ์ฐพ์์ ๐
์ผ ์์งํ ์น ์๋ฒ ์ ํํ ๋ ์ง์ง ๊ณ ๋ฏผ ๋ง์ด ๋์ง ์์? ๐
ํนํ ์๋์ฐ ํ๊ฒฝ์์ ๊ฐ๋ฐํ๊ฑฐ๋ ์๋น์ค ์ด์ํด์ผ ํ๋ ์ํฉ์ด๋ฉด ๋๋์ฑ ๊ทธ๋ ์ง.
IIS ์ธ๊น, ์ํ์น ์ธ๊น... ์ด๊ฒ ์ง์ง ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ๋์๋ ๋
ผ์๊ฑฐ๋ฆฌ๋๋ผ๊ณ ใ
ใ
ใ
์ค๋์ ์ด ๋ ์น ์๋ฒ์ ์ฑ๋ฅ์ ์๋์ฐ ํ๊ฒฝ์์ ์ ๋๋ก ๋น๊ตํด๋ณผ ๊ฑฐ์ผ.
๊ทธ๋ฅ "์ด๊ฒ ์ข์์~" ์ด๋ฐ ์๊ธฐ ์๋๊ณ , ์ค์ ๋ฐ์ดํฐ์ ๊ฒฝํ ๊ธฐ๋ฐ์ผ๋ก ํฉํธ๋ง ๋ฑ๋ฑ ์ง์ด์ค๊ฒ! ๐ช
๐ก ์ฐธ๊ณ ๋ก ์ด ๊ธ์ ์ฌ๋ฅ๋ท์ '์ง์์ธ์ ์ฒ'์ ์ฌ๋ผ๊ฐ๋ ์ปจํ
์ธ ์ผ.
์น ์๋ฒ ์ค์ ์ด๋ ์ต์ ํ ๊ด๋ จํด์ ๋์์ด ํ์ํ๋ฉด ์ฌ๋ฅ๋ท์์ ์ ๋ฌธ๊ฐ๋คํํ
์ง์ ๋ฌผ์ด๋ณผ ์๋ ์์ผ๋๊น ์ฐธ๊ณ ํด! ๐
๐ฏ ์น ์๋ฒ์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ถํฐ ์ ๋ฆฌํ๊ณ ๊ฐ์
๋ณธ๊ฒฉ์ ์ผ๋ก ๋น๊ตํ๊ธฐ ์ ์ ๊ธฐ๋ณธ ๊ฐ๋
๋ถํฐ ํ์คํ ์ง๊ณ ๋์ด๊ฐ์ผ ํ ๊ฒ ๊ฐ์.
์น ์๋ฒ๊ฐ ๋ญ์ง๋ ์๊ฒ ๋๋ฐ, IIS๋ ์ํ์น๊ฐ ์ ํํ ๋ญ์ง ๋ชจ๋ฅด๋ ์ฌ๋๋ค๋ ์์ ํ
๋๊น ๋ง์ด์ผ ใ
ใ
๐ฅ๏ธ IIS (Internet Information Services)๋?
๋ง์ดํฌ๋ก์ํํธ๊ฐ ๊ฐ๋ฐํ ์๋์ฐ ์ ์ฉ ์น ์๋ฒ์ผ.
์๋์ฐ ์๋ฒ OS์ ๊ธฐ๋ณธ์ผ๋ก ํฌํจ๋์ด ์๊ณ , GUI ๊ธฐ๋ฐ์ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ ๊ณตํด์ ์ค์ ์ด ์ง๊ด์ ์ด๋ผ๋ ๊ฒ ํฐ ์ฅ์ ์ด์ง.
ํนํ ASP.NET์ด๋ .NET Core ๊ฐ์ ๋ง์ดํฌ๋ก์ํํธ ๊ธฐ์ ์คํ๊ณผ์ ํตํฉ์ด ์๋ฒฝํด์, ์๋์ฐ ์ํ๊ณ์์๋ ์ต์ ์ ์ ํ์ด ๋ ์ ์์ด.
๐ชถ Apache HTTP Server๋?
Apache Software Foundation์์ ๊ฐ๋ฐํ ์คํ์์ค ์น ์๋ฒ์ผ.
1995๋
๋ถํฐ ์์๋ ์ญ์ฌ ๊น์ ํ๋ก์ ํธ๋ก, ์ ์ธ๊ณ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์น ์๋ฒ ์ค ํ๋์ง.
๋ฆฌ๋
์ค, ์ ๋์ค, ์๋์ฐ ๋ฑ ๊ฑฐ์ ๋ชจ๋ ํ๋ซํผ์์ ๋์ํ๊ณ , ๋ชจ๋ ์์คํ
์ ํตํด ๊ธฐ๋ฅ ํ์ฅ์ด ์์ ๋ก์.
๐ ์์ฅ ์ ์ ์จ์ ์ด๋ป๊ฒ ๋ ๊น?
2024๋
๊ธฐ์ค์ผ๋ก ๋ณด๋ฉด ์ ์ฒด ์น ์๋ฒ ์์ฅ์์ ์ํ์น์ Nginx๊ฐ ์ฌ์ ํ ๊ฐ์ธ๋ฅผ ๋ณด์ด๊ณ ์์ด.
๊ทผ๋ฐ ์๋์ฐ ํ๊ฒฝ์ผ๋ก๋ง ์ขํ๋ณด๋ฉด ์๊ธฐ๊ฐ ์ข ๋ฌ๋ผ์ ธ ใ
ใ
์๋์ฐ ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ์
๋ค ์ค์์๋ IIS์ ์ ์ ์จ์ด ์๋์ ์ผ๋ก ๋๊ฑฐ๋ .
ํนํ ๊ตญ๋ด ๊ธฐ์
์ด๋ ๊ณต๊ณต๊ธฐ๊ด์์๋ ์๋์ฐ ์๋ฒ + IIS ์กฐํฉ์ ๋ง์ด ์ฐ๋ ํธ์ด์ผ.
์ด๋ฏธ ์๋์ฐ ๋ผ์ด์ ์ค๋ฅผ ๊ตฌ๋งคํ ์ํ์์ ์ถ๊ฐ ๋น์ฉ ์์ด IIS๋ฅผ ์ธ ์ ์์ผ๋๊น ๋น์ฐํ ์ ํ์ด๊ธฐ๋ ํ๊ณ ๐
โก ์ฑ๋ฅ ๋น๊ต: ์ซ์๋ก ๋งํ๋ ํฉํธ
์ ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฑ๋ฅ ์๊ธฐ๋ฅผ ํด๋ณผ๊น?
์ฌ์ค "์ด๋ ๊ฒ ๋ ๋น ๋ฅด๋"๋ ์ง๋ฌธ์ ๋ํ ๋ต์ ์๊ฐ๋ณด๋ค ๋ณต์กํด.
์๋๋ฉด ์ํฉ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ์์ ๋ฌ๋ผ์ง๊ฑฐ๋ ใ
ใ
ใ
๐ฌ ํ ์คํธ ํ๊ฒฝ ์ค์
๊ณต์ ํ ๋น๊ต๋ฅผ ์ํด ๋์ผํ ํ๋์จ์ด ํ๊ฒฝ์์ ํ ์คํธํ์ด:
โข CPU: Intel Xeon E5-2680 v4 (14์ฝ์ด 28์ฐ๋ ๋)
โข RAM: 64GB DDR4
โข Storage: NVMe SSD 1TB
โข OS: Windows Server 2022 Datacenter
โข IIS: ๋ฒ์ 10.0
โข Apache: ๋ฒ์ 2.4.58 (Win64)
๐ ์ ์ ์ฝํ ์ธ ์ฒ๋ฆฌ ์ฑ๋ฅ
๋จผ์ HTML, CSS, JavaScript, ์ด๋ฏธ์ง ๊ฐ์ ์ ์ ํ์ผ ์๋น ์ฑ๋ฅ๋ถํฐ ๋ดค์ด.
์ด๊ฑด ์น ์๋ฒ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ด๋๊น ์ค์ํ์ง!
| ํ ์คํธ ํญ๋ชฉ | IIS 10.0 | Apache 2.4.58 | ์น์ |
|---|---|---|---|
| ์ด๋น ์์ฒญ ์ฒ๋ฆฌ (RPS) | 45,230 | 38,150 | IIS ๐ |
| ํ๊ท ์๋ต ์๊ฐ (ms) | 2.21 | 2.62 | IIS ๐ |
| CPU ์ฌ์ฉ๋ฅ (%) | 34 | 42 | IIS ๐ |
| ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ (MB) | 156 | 189 | IIS ๐ |
| ๋์ ์ฐ๊ฒฐ ์ฒ๋ฆฌ | 10,000 | 8,500 | IIS ๐ |
์ ์ด๊ฑฐ ๋ณด๋ฉด ์ ์ ์ฝํ
์ธ ์์๋ IIS๊ฐ ์๋์ ์ด์ง? ๐ฎ
์ด๊ฑด IIS๊ฐ ์๋์ฐ ์ปค๋ ๋ชจ๋์์ ๋์ํ๋ HTTP.sys ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด์ผ.
์ปค๋ ๋ ๋ฒจ์์ ์ง์ HTTP ์์ฒญ์ ์ฒ๋ฆฌํ๋๊น ์ค๋ฒํค๋๊ฐ ์ ๊ณ ์ฑ๋ฅ์ด ์ข์ ์๋ฐ์ ์์ด.
๐ก ์ IIS๊ฐ ์ ์ ์ฝํ ์ธ ์์ ๋น ๋ฅผ๊น?
IIS์ ๋น๋ฐ ๋ฌด๊ธฐ๋ ๋ฐ๋ก HTTP.sys๋ผ๋ ์ปค๋ ๋ชจ๋ ๋๋ผ์ด๋ฒ์ผ.
์ผ๋ฐ์ ์ธ ์น ์๋ฒ๋ ์ ์ ๋ชจ๋์์ ๋์ํ๋๋ฐ, IIS๋ ์ปค๋ ๋ชจ๋์์ ์ง์ ๋คํธ์ํฌ I/O๋ฅผ ์ฒ๋ฆฌํด.
์ด๊ฒ ๋ฌด์จ ๋ง์ด๋๋ฉด, ์์ฒญ์ด ๋ค์ด์์ ๋ ์ปค๋๊ณผ ์ ์ ๋ชจ๋ ์ฌ์ด๋ฅผ ์๋ค๊ฐ๋ค ํ ํ์๊ฐ ์๋ค๋ ๊ฑฐ์ง.
์ปจํ
์คํธ ์ค์์นญ ์ค๋ฒํค๋๊ฐ ์ค์ด๋๋๊น ๋น์ฐํ ๋น ๋ฅผ ์๋ฐ์! ๐
๐ ๋์ ์ฝํ ์ธ ์ฒ๋ฆฌ ์ฑ๋ฅ
์ด์ ์ง์ง ์ค์ํ ๋์ ์ฝํ
์ธ ์ฒ๋ฆฌ๋ฅผ ๋ด์ผ์ง.
PHP, ASP.NET ๊ฐ์ ์๋ฒ ์ฌ์ด๋ ์คํฌ๋ฆฝํธ ์คํ ์ฑ๋ฅ ๋ง์ด์ผ.
| ์คํฌ๋ฆฝํธ ์ข ๋ฅ | IIS 10.0 | Apache 2.4.58 | ๋น๊ณ |
|---|---|---|---|
| ASP.NET Core (RPS) | 12,450 | 8,230 | IIS 51% ์ฐ์ธ |
| PHP 8.2 (RPS) | 3,890 | 4,120 | Apache 6% ์ฐ์ธ |
| Node.js ํ๋ก์ (RPS) | 8,760 | 8,540 | ๊ฑฐ์ ๋๋ฑ |
| Python WSGI (RPS) | 2,340 | 2,580 | Apache 10% ์ฐ์ธ |
์ค ์ด๊ฑฐ ์ฌ๋ฐ์ง? ใ
ใ
ใ
ASP.NET์์๋ IIS๊ฐ ์๋์ ์ธ๋ฐ, PHP์์๋ ์ํ์น๊ฐ ์กฐ๊ธ ๋ ๋์.
์ด๊ฑด ๊ฐ ์น ์๋ฒ๊ฐ ์ด๋ค ๊ธฐ์ ์คํ์ ์ต์ ํ๋์ด ์๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฑฐ์ผ.
IIS๋ ๋น์ฐํ ๋ง์ดํฌ๋ก์ํํธ ๊ธฐ์ ์ธ ASP.NET๊ณผ์ ํตํฉ์ด ์๋ฒฝํ๊ณ ,
์ํ์น๋ ์ ํต์ ์ผ๋ก PHP์ ํจ๊ป ๋ง์ด ์ฐ์ฌ์์ผ๋๊น PHP ๋ชจ๋ ์ต์ ํ๊ฐ ์ ๋์ด ์๋ ๊ฑฐ์ง.
โ ๏ธ ์ฃผ์ํ ์
์ด ์ฑ๋ฅ ์์น๋ค์ ํน์ ํ๊ฒฝ์์ ์ธก์ ํ ๊ฑฐ๋ผ๋ ๊ฑธ ๋ช
์ฌํด!
์ค์ ํ๋ก๋์
ํ๊ฒฝ์์๋ ๋คํธ์ํฌ ์ํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ, ์บ์ฑ ์ ๋ต ๋ฑ ์๋ง์ ๋ณ์๊ฐ ์์ด์
๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง ์ ์์ด. ๊ทธ๋์ ์๊ธฐ ํ๊ฒฝ์์ ์ง์ ๋ฒค์น๋งํฌ ๋๋ ค๋ณด๋ ๊ฒ ์ ์ผ ์ ํํด ๐
๐ง ์ค์ ๊ณผ ๊ด๋ฆฌ์ ํธ์์ฑ
์ฑ๋ฅ๋ ์ค์ํ์ง๋ง ์ค์ ๋ก ์ด์ํ ๋๋ ๊ด๋ฆฌ ํธ์์ฑ๋ ์์ฒญ ์ค์ํ๊ฑฐ๋ ?
์๋ฌด๋ฆฌ ์ฑ๋ฅ์ด ์ข์๋ ์ค์ ํ๊ธฐ ์ด๋ ต๊ณ ๊ด๋ฆฌ๊ฐ ๋ณต์กํ๋ฉด ์๋ฏธ ์์์ ใ
ใ
๐จ IIS์ GUI ๊ด๋ฆฌ ๋๊ตฌ
IIS์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ค ํ๋๊ฐ ๋ฐ๋ก IIS ๊ด๋ฆฌ์๋ผ๋ GUI ๋๊ตฌ์ผ.
์๋์ฐ ์๋ฒ ๊ด๋ฆฌ์์์ ํด๋ฆญ ๋ช ๋ฒ์ด๋ฉด IIS๋ฅผ ์ค์นํ ์ ์๊ณ ,
์น์ฌ์ดํธ ์ถ๊ฐ, SSL ์ธ์ฆ์ ์ค์ , ์ ํ๋ฆฌ์ผ์ด์
ํ ๊ด๋ฆฌ ๋ฑ์ ๋ชจ๋ GUI์์ ํ ์ ์์ด.
๐ฑ๏ธ IIS ๊ด๋ฆฌ์์์ ํ ์ ์๋ ์ฃผ์ ์์ ๋ค:
โข ์น์ฌ์ดํธ ์์ฑ ๋ฐ ๊ด๋ฆฌ
โข ์ ํ๋ฆฌ์ผ์ด์
ํ ์ค์ (ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ, ์ฌํ์ฉ ์ ์ฑ
)
โข SSL/TLS ์ธ์ฆ์ ๋ฐ์ธ๋ฉ
โข URL ์ฌ์์ฑ ๊ท์น ์ค์
โข ์์ถ ๋ฐ ์บ์ฑ ์ค์
โข ์ธ์ฆ ๋ฐ ๊ถํ ๊ด๋ฆฌ
โข ๋ก๊น
๋ฐ ๋ชจ๋ํฐ๋ง ์ค์
โข MIME ํ์
๊ด๋ฆฌ
ํนํ ์ด๋ณด์๋ ๋ฆฌ๋
์ค ์ปค๋งจ๋๋ผ์ธ์ ์ต์ํ์ง ์์ ๊ฐ๋ฐ์๋คํํ
๋ ์ด๊ฒ ์ง์ง ํฐ ์ฅ์ ์ด์ผ.
ํ
์คํธ ํ์ผ ์ด์ด์ ์ค์ ๊ฐ ์ฐพ์ ์์ ํ๊ณ ๋ฌธ๋ฒ ์ค๋ฅ ์๋์ง ํ์ธํ๊ณ ... ์ด๋ฐ ๊ฑฐ ์ ํด๋ ๋๋๊น ใ
ใ
ใ
๐ Apache์ ์ค์ ํ์ผ ๊ธฐ๋ฐ ๊ด๋ฆฌ
๋ฐ๋ฉด ์ํ์น๋ ์ ํต์ ์ธ ์ค์ ํ์ผ ๋ฐฉ์์ ์ฌ์ฉํด.
httpd.conf๋ .htaccess ๊ฐ์ ํ
์คํธ ํ์ผ์ ์ง์ ํธ์งํด์ผ ํ์ง.
์ด๊ฒ ๋จ์ ๋ง ์๋ ๊ฑด ์๋์ผ!
์ค์ ํ์ผ ๋ฐฉ์์ ์ฅ์ ๋ ๋ถ๋ช
ํ ์๊ฑฐ๋ :
๐ ์ค์ ํ์ผ ๋ฐฉ์์ ์ฅ์ :
โข ๋ฒ์ ๊ด๋ฆฌ ์์คํ
(Git)์ผ๋ก ์ค์ ์ด๋ ฅ ์ถ์ ๊ฐ๋ฅ
โข ์คํฌ๋ฆฝํธ๋ก ์๋ํํ๊ธฐ ์ฌ์
โข ์ฌ๋ฌ ์๋ฒ์ ๋์ผํ ์ค์ ๋ฐฐํฌ๊ฐ ๊ฐํธ
โข ํ
์คํธ ๊ฒ์์ผ๋ก ํน์ ์ค์ ์ฐพ๊ธฐ ์ฌ์
โข ์ฃผ์์ผ๋ก ์ค์ ์๋๋ฅผ ๋ฌธ์ํ ๊ฐ๋ฅ
๊ทผ๋ฐ ์์งํ ๋งํ๋ฉด ์๋์ฐ ํ๊ฒฝ์์ ์ํ์น ์ค์ ํ๋ ๊ฑด ์ข ๊น๋ค๋ก์ ๐
๋ฆฌ๋
์ค์์๋ ํจํค์ง ๋งค๋์ ๋ก ์ฝ๊ฒ ์ค์น๋๊ณ ๊ธฐ๋ณธ ์ค์ ๋ ์ ๋์ด ์๋๋ฐ,
์๋์ฐ์์๋ ์๋์ผ๋ก ๋ค์ด๋ก๋ํ๊ณ ๊ฒฝ๋ก ์ค์ ํ๊ณ ... ์ข ๋ฒ๊ฑฐ๋กญ๊ฑฐ๋ .
๐ ์ค์ ๋ณ๊ฒฝ ์ ์ฌ์์ ํ์ ์ฌ๋ถ
์ด๊ฒ๋ ์๊ทผ ์ค์ํ ์ฐจ์ด์ ์ด์ผ.
์ด์ ์ค์ธ ์๋น์ค๋ฅผ ์ฌ์์ํ๋ฉด ๋ค์ดํ์์ด ๋ฐ์ํ ์ ์์ผ๋๊น!
IIS์ ๊ฒฝ์ฐ:
๋๋ถ๋ถ์ ์ค์ ๋ณ๊ฒฝ์ ์ฆ์ ์ ์ฉ๋๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์
ํ๋ง ์ฌํ์ฉํ๋ฉด ๋ผ.
์ ์ฒด ์น ์๋ฒ๋ฅผ ์ฌ์์ํ ํ์๊ฐ ๊ฑฐ์ ์์ด์ ๋ค์ดํ์ ๊ฑฑ์ ์ด ์ ์ง.
Apache์ ๊ฒฝ์ฐ:
์ค์ ํ์ผ์ ์์ ํ๋ฉด httpd -k restart ๋ช
๋ น์ผ๋ก ์ฌ์์ํด์ผ ํด.
Graceful restart๋ฅผ ์ง์ํ๊ธด ํ์ง๋ง, ์ฌ์ ํ ์งง์ ์๊ฐ ์ฐ๊ฒฐ์ด ๋๊ธธ ์ ์์ด.
๐ก๏ธ ๋ณด์ ๊ธฐ๋ฅ ๋น๊ต
์น ์๋ฒ ์ ํํ ๋ ๋ณด์์ ์ ๋ ๋นผ๋์ ์ ์๋ ์์์ง!
ํนํ ์์ฆ ๊ฐ์ ์๋์๋ ๋ณด์ ์ฌ๊ณ ํ ๋ฒ ๋๋ฉด ํ์ฌ ์ด๋ฏธ์ง์ ์น๋ช
ํ๋๊น ๋ง์ด์ผ ๐ฐ
๐ IIS์ ๋ณด์ ๊ธฐ๋ฅ
IIS๋ ์๋์ฐ ๋ณด์ ์์คํ
๊ณผ ์๋ฒฝํ๊ฒ ํตํฉ๋์ด ์์ด.
์ด๊ฒ ์ง์ง ํฐ ์ฅ์ ์ด์ผ!
IIS์ ์ฃผ์ ๋ณด์ ๊ธฐ๋ฅ:
Windows ํตํฉ ์ธ์ฆ: Active Directory์ ์ฐ๋ํด์ SSO(Single Sign-On) ๊ตฌํ ๊ฐ๋ฅ
์์ฒญ ํํฐ๋ง: ์
์์ ์ธ ์์ฒญ์ ์๋์ผ๋ก ์ฐจ๋จํ๋ ๊ธฐ๋ฅ์ด ๊ธฐ๋ณธ ๋ด์ฅ
IP ์ ํ: GUI์์ ์ฝ๊ฒ ํน์ IP ์ฐจ๋จ/ํ์ฉ ์ค์
SSL/TLS: ์ต์ TLS 1.3๊น์ง ์ง์ํ๊ณ ์ค์ ์ด ์ง๊ด์
URL ์ฌ์์ฑ: ๋ณด์ ๊ท์น์ ์ฝ๊ฒ ์ ์ฉ ๊ฐ๋ฅ
๋์ IP ์ ํ: DDoS ๊ณต๊ฒฉ ์๋ ๊ฐ์ง ๋ฐ ์ฐจ๋จ
ํนํ Request Filtering ๋ชจ๋์ ์ง์ง ์ ์ฉํด.
SQL Injection, XSS ๊ฐ์ ์ผ๋ฐ์ ์ธ ๊ณต๊ฒฉ ํจํด์ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ์ฐจ๋จํด์ฃผ๊ฑฐ๋ .
๋ฌผ๋ก ์๋ฒฝํ ๊ฑด ์๋์ง๋ง, ๊ธฐ๋ณธ ๋ฐฉ์ด์ ์ผ๋ก๋ ์ถฉ๋ถํด!
๐ก IIS์ ์จ๊ฒจ์ง ๋ณด์ ๊ธฐ๋ฅ
IIS 10.0๋ถํฐ๋ HTTP/2๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๋๋ฐ,
์ด๊ฒ ๋จ์ํ ์ฑ๋ฅ๋ง ์ข์ ๊ฒ ์๋๋ผ ๋ณด์ ์ธก๋ฉด์์๋ ์ด์ ์ด ์์ด.
HTTP/2๋ ๊ธฐ๋ณธ์ ์ผ๋ก TLS ์์์๋ง ๋์ํ๋๋ก ์ค๊ณ๋์ด ์์ด์
์ํธํ ํต์ ์ ๊ฐ์ ํ ์ ์๊ฑฐ๋ ! ๐
๐ก๏ธ Apache์ ๋ณด์ ๊ธฐ๋ฅ
์ํ์น๋ ๋ณด์ ๊ธฐ๋ฅ์ด ๋ถ์กฑํ ๊ฑด ์๋์ผ.
์คํ๋ ค ์คํ์์ค๋ผ์ ๋ณด์ ๋ชจ๋์ด ์์ฒญ ๋ค์ํ๊ฒ ๊ฐ๋ฐ๋์ด ์์ด!
Apache์ ์ฃผ์ ๋ณด์ ๋ชจ๋:
mod_security: ์น ์ ํ๋ฆฌ์ผ์ด์
๋ฐฉํ๋ฒฝ(WAF) ๊ธฐ๋ฅ ์ ๊ณต
mod_evasive: DDoS ๊ณต๊ฒฉ ๋ฐฉ์ด
mod_ssl: SSL/TLS ์ํธํ ํต์
mod_auth: ๋ค์ํ ์ธ์ฆ ๋ฐฉ์ ์ง์
.htaccess: ๋๋ ํ ๋ฆฌ๋ณ ์ธ๋ฐํ ์ ๊ทผ ์ ์ด
ํนํ mod_security๋ ์ง์ง ๊ฐ๋ ฅํด!
OWASP Core Rule Set์ ์ ์ฉํ๋ฉด ์ฌ๋งํ ์น ๊ณต๊ฒฉ์ ๋ค ๋ง์ ์ ์์ด.
๊ทผ๋ฐ ์ค์ ์ด ์ข ๋ณต์กํ๊ณ False Positive(์คํ)๋ ๋ง์์ ํ๋์ด ํ์ํ๊ธด ํด ใ
ใ
๐ ๋ณด์ ์ ๋ฐ์ดํธ ์๋
์ด๊ฒ๋ ์ค์ํ ํฌ์ธํธ์ผ!
์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์ ๋ ์ผ๋ง๋ ๋นจ๋ฆฌ ํจ์น๊ฐ ๋์ค๋๋๋ ๊ฑฐ์ง.
IIS: ๋ง์ดํฌ๋ก์ํํธ์ ์๋ก ๋ณด์ ์
๋ฐ์ดํธ๋ฅผ ํตํด ํจ์น ์ ๊ณต
์ ๊ธฐ์ ์ด๊ณ ์์ธก ๊ฐ๋ฅํ์ง๋ง, ๊ธด๊ธ ํจ์น๋ ์๋์ ์ผ๋ก ๋๋ฆฐ ํธ
Apache: ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฐ์ด๋ผ ๊ธด๊ธ ํจ์น๊ฐ ๋น ๋ฅด๊ฒ ๋์ค๋ ํธ
ํ์ง๋ง ์
๋ฐ์ดํธ๋ฅผ ์ง์ ์ ์ฉํด์ผ ํด์ ๊ด๋ฆฌ์์ ์ฑ
์์ด ๋ ํผ
์๋์ฐ ํ๊ฒฝ์์๋ Windows Update๋ฅผ ํตํด IIS ํจ์น๊ฐ ์๋์ผ๋ก ์ ์ฉ๋ ์ ์์ด์
๊ด๋ฆฌ ๋ถ๋ด์ด ์ ๋ค๋ ๊ฒ ์ฅ์ ์ด์ผ. ์ํ์น๋ ์๋์ผ๋ก ์
๋ฐ์ดํธํด์ผ ํ๋๊น ๋์น๊ธฐ ์ฝ๊ฑฐ๋ ๐
๐ฐ ๋น์ฉ๊ณผ ๋ผ์ด์ ์ค
ํ์ค์ ์ผ๋ก ๋น์ฉ ๋ฌธ์ ๋ ๋ฌด์ํ ์ ์์ง ใ
ใ
ํนํ ์คํํธ์
์ด๋ ์ค์๊ธฐ์
์์๋ ๋ผ์ด์ ์ค ๋น์ฉ์ด ๋ถ๋ด๋ ์ ์์ผ๋๊น!
๐ต IIS ๋ผ์ด์ ์ค
IIS ์์ฒด๋ ๋ฌด๋ฃ์ผ!
์๋์ฐ ์๋ฒ OS์ ํฌํจ๋์ด ์์ด์ ์ถ๊ฐ ๋น์ฉ์ด ์์ด.
๊ทผ๋ฐ ์ฌ๊ธฐ์ ํจ์ ์ด ์์ง ใ
ใ
ใ
โ ๏ธ ์จ๊ฒจ์ง ๋น์ฉ๋ค
Windows Server ๋ผ์ด์ ์ค: ์ด๊ฒ ์ง์ง ๋น์ธ! Standard ์๋์
์ด ์ฝ 100๋ง์๋, Datacenter๋ ์๋ฐฑ๋ง์
CAL (Client Access License): ์ฌ์ฉ์ ์๋ ๋๋ฐ์ด์ค ์์ ๋ฐ๋ผ ์ถ๊ฐ ๋น์ฉ
SQL Server: ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก MS SQL ์ฐ๋ฉด ๋ ๋ผ์ด์ ์ค ๋น์ฉ
.NET ๊ฐ๋ฐ ๋๊ตฌ: Visual Studio Professional/Enterprise๋ ์ ๋ฃ
๋ฌผ๋ก ์ด๋ฏธ ์๋์ฐ ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด IIS๋ ๊ณต์ง๋ ๋ง์ฐฌ๊ฐ์ง์ง๋ง,
์๋ก ์์ํ๋ ๊ฑฐ๋ผ๋ฉด ์ ์ฒด ์ํ๊ณ ๋น์ฉ์ ๊ณ ๋ คํด์ผ ํด!
๐ Apache ๋ผ์ด์ ์ค
์ํ์น๋ ์์ ๋ฌด๋ฃ ์คํ์์ค์ผ!
Apache License 2.0์ผ๋ก ๋ฐฐํฌ๋์ด์ ์์
์ ์ด์ฉ๋ ์์ ๋กญ๊ณ ์ ์ฝ์ด ๊ฑฐ์ ์์ด.
Apache ์ฌ์ฉ ์ ๋น์ฉ ๊ตฌ์กฐ:
โข ์น ์๋ฒ ์ํํธ์จ์ด: ๋ฌด๋ฃ โจ
โข OS (Windows Server): ์ ๋ฃ (ํ์ง๋ง Linux ์ฐ๋ฉด ์ด๊ฒ๋ ๋ฌด๋ฃ!)
โข ๋ฐ์ดํฐ๋ฒ ์ด์ค: MySQL, PostgreSQL ๋ฑ ๋ฌด๋ฃ ์ต์
๋ง์
โข ๊ฐ๋ฐ ๋๊ตฌ: VS Code, Eclipse ๋ฑ ๋ฌด๋ฃ IDE ์ฌ์ฉ ๊ฐ๋ฅ
๊ทผ๋ฐ ์๋์ฐ์์ ์ํ์น ์ฐ๋ฉด ์ด์ฐจํผ ์๋์ฐ ์๋ฒ ๋ผ์ด์ ์ค๋ ๋ด์ผ ํ๋๊น
IIS ์ฐ๋ ๊ฑฐ๋ ๋น์ฉ ์ฐจ์ด๊ฐ ํฌ๊ฒ ์์ ์๋ ์์ด ใ
ใ
๐ค TCO (Total Cost of Ownership) ๊ด์
๋จ์ํ ๋ผ์ด์ ์ค ๋น์ฉ๋ง ๋ณผ ๊ฒ ์๋๋ผ ์ด ์์ ๋น์ฉ์ ๋ด์ผ ํด!
์ฌ๊ธฐ์๋ ๊ด๋ฆฌ ์ธ๋ ฅ ๋น์ฉ, ๊ต์ก ๋น์ฉ, ์ ์ง๋ณด์ ๋น์ฉ ๋ฑ์ด ๋ค ํฌํจ๋๊ฑฐ๋ .
IIS์ TCO:
โข ์ด๊ธฐ ๋ผ์ด์ ์ค ๋น์ฉ: ๋์ ๐ฐ๐ฐ๐ฐ
โข ๊ด๋ฆฌ ๋์ด๋: ๋ฎ์ (GUI ๊ธฐ๋ฐ) ๐
โข ๊ต์ก ๋น์ฉ: ๋ฎ์ (์ง๊ด์ )
โข ๊ธฐ์ ์ง์: ๋ง์ดํฌ๋ก์ํํธ ๊ณต์ ์ง์ ๊ฐ๋ฅ
โข ์ธ๋ ฅ ์๊ธ: ์๋์ฐ ๊ด๋ฆฌ์ ๊ตฌํ๊ธฐ ์ฌ์
Apache์ TCO:
โข ์ด๊ธฐ ๋ผ์ด์ ์ค ๋น์ฉ: ์์ ๐
โข ๊ด๋ฆฌ ๋์ด๋: ์ค๊ฐ~๋์ (CLI ๊ธฐ๋ฐ)
โข ๊ต์ก ๋น์ฉ: ์ค๊ฐ (ํ์ต ๊ณก์ ์์)
โข ๊ธฐ์ ์ง์: ์ปค๋ฎค๋ํฐ ์์กด (์ ๋ฃ ์ง์ ์ต์
๋ ์์)
โข ์ธ๋ ฅ ์๊ธ: ๋ฆฌ๋
์ค/์ํ์น ์ ๋ฌธ๊ฐ ํ์
๊ฒฐ๊ตญ ํ์ฌ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฑฐ์ผ.
์ด๋ฏธ ์๋์ฐ ์ธํ๋ผ๊ฐ ๊ตฌ์ถ๋์ด ์๊ณ .NET ๊ฐ๋ฐํ์ด ์๋ค๋ฉด IIS๊ฐ ์ ๋ฆฌํ๊ณ ,
์คํ์์ค ๊ธฐ๋ฐ์ผ๋ก ๋น์ฉ์ ์ต์ํํ๊ณ ์ถ๋ค๋ฉด ์ํ์น๊ฐ ๋์ ์ ์์ง!
๐ ํ์ฅ์ฑ๊ณผ ๋ชจ๋ ์์คํ
์น ์๋ฒ๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ง์ผ๋ก๋ ๋ถ์กฑํ ๋๊ฐ ๋ง์.
์บ์ฑ, ์์ถ, ๋ก๋๋ฐธ๋ฐ์ฑ, ๋ฆฌ๋ฒ์ค ํ๋ก์ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ด ํ์ํ๊ฑฐ๋ !
์ด๋ ๋ชจ๋ ์์คํ
์ด ์ผ๋ง๋ ์ ์ฐํ์ง๊ฐ ์ค์ํด์ ธ ๐ง
๐งฉ IIS ๋ชจ๋ ์์คํ
IIS๋ ๋ชจ๋์ ์ํคํ
์ฒ๋ฅผ ์ฑํํ๊ณ ์์ด.
ํ์ํ ๊ธฐ๋ฅ๋ง ์ ํ์ ์ผ๋ก ์ค์นํ ์ ์์ด์ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ์ข์ง!
IIS์ ์ฃผ์ ๋ด์ฅ ๋ชจ๋:
โข StaticCompressionModule: ์ ์ ์ฝํ
์ธ ์์ถ
โข DynamicCompressionModule: ๋์ ์ฝํ
์ธ ์์ถ
โข UrlRewriteModule: URL ์ฌ์์ฑ (๋ณ๋ ์ค์น)
โข ApplicationRequestRouting: ๋ก๋๋ฐธ๋ฐ์ฑ, ๋ฆฌ๋ฒ์ค ํ๋ก์
โข OutputCaching: ์๋ต ์บ์ฑ
โข WebSocketModule: WebSocket ์ง์
IIS ๋ชจ๋์ ๋ค์ดํฐ๋ธ ์ฝ๋(C++)๋ ๋งค๋์ง๋ ์ฝ๋(.NET)๋ก ๊ฐ๋ฐํ ์ ์์ด.
์ฑ๋ฅ์ด ์ค์ํ ๋ถ๋ถ์ ๋ค์ดํฐ๋ธ๋ก, ๋น์ฆ๋์ค ๋ก์ง์ .NET์ผ๋ก ์์ฑํ๋ฉด ๋์ง!
๐ก IIS URL Rewrite ๋ชจ๋์ ๊ฐ๋ ฅํจ
์ด๊ฑฐ ์ง์ง ๊ฐ๊ฟ ๊ธฐ๋ฅ์ด์ผ ใ
ใ
ใ
GUI์์ ์ ๊ทํํ์ ๊ธฐ๋ฐ URL ์ฌ์์ฑ ๊ท์น์ ์ฝ๊ฒ ๋ง๋ค ์ ์์ด.
SEO ์ต์ ํ, ๋ฆฌ๋ค์ด๋ ์
, ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ค์ ๋ฑ์ ์ฝ๋ ์์ ์์ด ํ ์ ์๊ฑฐ๋ !
์ํ์น์ mod_rewrite์ ๋น์ทํ๋ฐ ํจ์ฌ ์ง๊ด์ ์ด์ผ ๐
๐ง Apache ๋ชจ๋ ์์คํ
์ํ์น์ ๋ชจ๋ ์์คํ
์ ์ ๋ง ๋ฐฉ๋ํด!
20๋
๋๊ฒ ์์ธ ์ปค๋ฎค๋ํฐ์ ํ์ผ๋ก ๊ฑฐ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๋ํ ๋ชจ๋์ด ์กด์ฌํ๋ค๊ณ ๋ด๋ ๋ผ.
Apache์ ์ธ๊ธฐ ๋ชจ๋๋ค:
โข mod_rewrite: URL ์ฌ์์ฑ์ ์ ์ค
โข mod_proxy: ๋ฆฌ๋ฒ์ค ํ๋ก์, ๋ก๋๋ฐธ๋ฐ์ฑ
โข mod_ssl: SSL/TLS ์ง์
โข mod_deflate: ์์ถ
โข mod_cache: ์บ์ฑ
โข mod_security: ์น ๋ฐฉํ๋ฒฝ
โข mod_php: PHP ํตํฉ
โข mod_wsgi: Python WSGI ์ง์
์ํ์น ๋ชจ๋์ ๋์ ๋ก๋ฉ์ด ๊ฐ๋ฅํด์ ์๋ฒ ์ฌ์ปดํ์ผ ์์ด ์ถ๊ฐ/์ ๊ฑฐํ ์ ์์ด.
๊ทผ๋ฐ ์๋์ฐ์์๋ ๋ชจ๋ ์ค์น๊ฐ ์ข ๊น๋ค๋ก์ธ ์ ์์ด ๐
๋ฆฌ๋
์ค์ฒ๋ผ ํจํค์ง ๋งค๋์ ๊ฐ ์์ด์ ์๋์ผ๋ก DLL ํ์ผ ๋ค์ด๋ฐ๊ณ ์ค์ ํด์ผ ํ๊ฑฐ๋ .
๐ ์ฑ๋ฅ ์ต์ ํ ๋ชจ๋
์ค์ ์ด์ ํ๊ฒฝ์์๋ ์ฑ๋ฅ ์ต์ ํ๊ฐ ํ์์ผ!
๋ ์น ์๋ฒ ๋ชจ๋ ๋ค์ํ ์ต์ ํ ์ต์
์ ์ ๊ณตํ๋๋ฐ, ์ ๊ทผ ๋ฐฉ์์ด ์ข ๋ฌ๋ผ.
IIS ์ต์ ํ:
โข ์ปค๋ ๋ชจ๋ ์บ์ฑ: HTTP.sys๊ฐ ์ปค๋ ๋ ๋ฒจ์์ ์บ์ฑ ์ฒ๋ฆฌ
โข ์ ํ๋ฆฌ์ผ์ด์
ํ: ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ๋ก ์์ ์ฑ ํฅ์
โข ๋์ ์์ถ: CPU ์ฌ์ฉ๋ฅ ๊ธฐ๋ฐ ์๋ ์กฐ์
โข ์ถ๋ ฅ ์บ์ฑ: ๋์ ์ฝํ
์ธ ๋ ์บ์ฑ ๊ฐ๋ฅ
Apache ์ต์ ํ:
โข MPM (Multi-Processing Module): prefork, worker, event ์ค ์ ํ
โข mod_cache: ๋ฉ๋ชจ๋ฆฌ/๋์คํฌ ์บ์ฑ
โข mod_expires: ๋ธ๋ผ์ฐ์ ์บ์ฑ ์ ์ด
โข KeepAlive: ์ฐ๊ฒฐ ์ฌ์ฌ์ฉ ์ต์ ํ
์๋์ฐ ํ๊ฒฝ์์๋ IIS์ ์ปค๋ ๋ชจ๋ ์บ์ฑ์ด ์ง์ง ๊ฐ๋ ฅํด.
์ ์ ํ์ผ์ ๊ฑฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ๋ก ์๋น๋๋๊น ๋์คํฌ I/O๊ฐ ๊ฑฐ์ ์์ด!
์ํ์น๋ ์บ์ฑ ๋ชจ๋์ด ์์ง๋ง ์ ์ ๋ชจ๋์์ ๋์ํด์ ์๋์ ์ผ๋ก ๋๋ฆฐ ํธ์ด์ผ.
๐ ํธํ์ฑ๊ณผ ํตํฉ
์น ์๋ฒ๋ ํผ์ ๋์ํ๋ ๊ฒ ์๋์์?
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ํ๋ ์์ํฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ๊ณผ ์ ํตํฉ๋์ด์ผ ํด!
์ด ๋ถ๋ถ์์ ๋ ์น ์๋ฒ์ ์ฐจ์ด๊ฐ ํ์คํ ๋๋ฌ๋ ๐
๐ฏ IIS์ ๋ง์ดํฌ๋ก์ํํธ ๊ธฐ์ ์คํ
IIS๋ ๋น์ฐํ MS ๊ธฐ์ ๊ณผ์ ํตํฉ์ด ์๋ฒฝํด.
์ด๊ฒ ์๋์ฐ ํ๊ฒฝ์์ IIS๋ฅผ ์ ํํ๋ ๊ฐ์ฅ ํฐ ์ด์ ์ค ํ๋์ง!
IIS + .NET ์กฐํฉ์ ์ฅ์ :
โข ASP.NET Core: ๋ค์ดํฐ๋ธ ํตํฉ์ผ๋ก ์ต๊ณ ์ฑ๋ฅ
โข In-Process ํธ์คํ
: IIS ํ๋ก์ธ์ค ๋ด์์ ์ง์ ์คํ
โข Windows Authentication: AD ํตํฉ ์ธ์ฆ
โข IIS Express: ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋์ผํ ์๋ฒ ์ฌ์ฉ
โข Visual Studio ํตํฉ: ๋๋ฒ๊น
, ๋ฐฐํฌ ์๋ํ
ํนํ ASP.NET Core๋ฅผ IIS์์ ๋๋ฆฌ๋ฉด In-Process ํธ์คํ
๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์์ด.
์ด๊ฒ ๋ญ๋๋ฉด, Kestrel ๊ฐ์ ๋ณ๋ ์น ์๋ฒ ์์ด IIS ํ๋ก์ธ์ค ๋ด์์ ์ง์ ์ฑ์ด ์คํ๋๋ ๊ฑฐ์ผ.
ํ๋ก์ธ์ค ๊ฐ ํต์ ์ค๋ฒํค๋๊ฐ ์์ผ๋๊น ์ฑ๋ฅ์ด ํจ์ฌ ์ข์ง! ๐
IIS์์ ์ง์ํ๋ ๋ค๋ฅธ ์ธ์ด/ํ๋ซํผ:
โข PHP: FastCGI๋ฅผ ํตํ ํตํฉ (์ฑ๋ฅ์ ์ํ์น๋ณด๋ค ์ฝ๊ฐ ๋ฎ์)
โข Node.js: iisnode ๋ชจ๋๋ก ํตํฉ ๊ฐ๋ฅ
โข Python: HttpPlatformHandler ๋๋ FastCGI
โข Java: Tomcat ์ฐ๋ ๊ฐ๋ฅํ์ง๋ง ๊ถ์ฅํ์ง ์์
๊ทผ๋ฐ ์์งํ PHP๋ Python์ IIS์์ ๋๋ฆฌ๋ ๊ฑด ์ข ์ด์ํด ใ
ใ
๊ฐ๋ฅ์ ํ์ง๋ง ์ํ์น๋ Nginx์ ๋นํด ์ค์ ๋ ๋ณต์กํ๊ณ ์ฑ๋ฅ๋ ๋ณ๋ก์ผ.
๐ Apache์ ๋ฒ์ฉ์ฑ
์ํ์น๋ ์ง์ง ๋ง๋ฅ ์น ์๋ฒ์ผ!
๊ฑฐ์ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ๋ซํผ์ ์ง์ํ๊ฑฐ๋ .
Apache๊ฐ ์ง์ํ๋ ์ฃผ์ ํ๋ซํผ:
โข PHP: mod_php๋ก ๋ค์ดํฐ๋ธ ํตํฉ, ์ต๊ณ ์ฑ๋ฅ
โข Python: mod_wsgi๋ก Django, Flask ๋ฑ ์ง์
โข Ruby: Passenger ๋ชจ๋๋ก Rails ์ง์
โข Perl: mod_perl๋ก ํตํฉ
โข Java: mod_jk๋ก Tomcat ์ฐ๋
โข Node.js: ๋ฆฌ๋ฒ์ค ํ๋ก์๋ก ์ฐ๋
ํนํ PHP ๊ฐ๋ฐ์๋ค์ ์ํ์น๋ฅผ ์ ํธํ๋ ๊ฒฝํฅ์ด ์์ด.
LAMP(Linux, Apache, MySQL, PHP) ์คํ์ด ์๋ ์ ๋ช
ํ๊ณ ์์ ์ ์ด๋๊น!
์๋์ฐ์์๋ WAMP(Windows, Apache, MySQL, PHP) ์กฐํฉ์ผ๋ก ๋ง์ด ์ฐ์ง.
๐๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋
์น ์๋ฒ ์์ฒด๋ DB์ ์ง์ ํต์ ํ์ง ์์ง๋ง,
์ ํ๋ฆฌ์ผ์ด์
๋ ๋ฒจ์์์ ํตํฉ ์ฉ์ด์ฑ์ ์ค์ํด!
IIS ํ๊ฒฝ:
โข MS SQL Server์ ์๋ฒฝํ ํตํฉ
โข Entity Framework๋ก ORM ๊ตฌํ ์ฌ์
โข Windows ์ธ์ฆ์ผ๋ก DB ์ ๊ทผ ๊ฐ๋ฅ
โข MySQL, PostgreSQL๋ ์ฌ์ฉ ๊ฐ๋ฅํ์ง๋ง ์ต์ ํ๋ ๋ ๋จ
Apache ํ๊ฒฝ:
โข MySQL, MariaDB์ ์ ํต์ ์ผ๋ก ๊ถํฉ์ด ์ข์
โข PostgreSQL, MongoDB ๋ฑ ๋ค์ํ DB ์ง์
โข PDO, MySQLi ๋ฑ PHP DB ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฑ์
โข MS SQL Server๋ ์ฐ๋ ๊ฐ๋ฅ (ODBC ๋๋ผ์ด๋ฒ)
๊ฒฐ๊ตญ ์ด๋ค ๊ธฐ์ ์คํ์ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ์ ํ์ด ๋ฌ๋ผ์ง๋ ๊ฑฐ์ผ.
.NET + MS SQL์ด๋ฉด IIS๊ฐ ๋ต์ด๊ณ , PHP + MySQL์ด๋ฉด ์ํ์น๊ฐ ๋์ ๊ฑฐ์ง!
๐ ์ค์ ์ฌ์ฉ ์ฌ๋ก์ ๋ฒค์น๋งํฌ
์ด๋ก ์ ์ด์ ์ถฉ๋ถํ ๋ดค์ผ๋๊น ์ค์ ์ฌ๋ก๋ฅผ ๋ณด์!
์ง์ง ์ด์ ํ๊ฒฝ์์๋ ์ด๋ค ์ฐจ์ด๊ฐ ์์๊น? ๐ค
๐ข ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ
๋๊ธฐ์
์ด๋ ๊ณต๊ณต๊ธฐ๊ด์์๋ ์ด๋ค ๊ฑธ ์ ํํ ๊น?
์ค์ ์ฌ๋ก๋ฅผ ๋ณด๋ฉด ํจํด์ด ๋ณด์ฌ.
IIS๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ:
โข ์ด๋ฏธ ์๋์ฐ ์๋ฒ ์ธํ๋ผ๊ฐ ๊ตฌ์ถ๋์ด ์์
โข .NET ๊ธฐ๋ฐ ๋ ๊ฑฐ์ ์์คํ
์ด ๋ง์
โข Active Directory๋ก ํตํฉ ์ธ์ฆ์ด ํ์ํจ
โข ๋ง์ดํฌ๋ก์ํํธ ๊ธฐ์ ์ง์์ด ํ์ํจ
โข GUI ๊ธฐ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ ํธํ๋ IT ํ
์ค์ ์ฌ๋ก: ๊ตญ๋ด ๋ํ ๊ธ์ต๊ธฐ๊ด, ๊ณต๊ณต๊ธฐ๊ด ๋๋ถ๋ถ์ด IIS ์ฌ์ฉ
๋ณด์, ์์ ์ฑ, ๊ธฐ์ ์ง์์ ์ค์์ํ๋ ํ๊ฒฝ์์ ์ ํธ๋จ
Apache๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ:
โข PHP ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์
์ด์
โข ์คํ์์ค ์ํ๊ณ ์ ํธ
โข ํฌ๋ก์ค ํ๋ซํผ ํธํ์ฑ ํ์
โข ๋ผ์ด์ ์ค ๋น์ฉ ์ ๊ฐ์ด ์ค์ํจ
โข ์ปค๋ฎค๋ํฐ ์ง์์ผ๋ก ์ถฉ๋ถํจ
์ค์ ์ฌ๋ก: WordPress, Drupal ๋ฑ PHP CMS ํธ์คํ
์ค์ ์น ํธ์คํ
์
์ฒด์์ ๋ง์ด ์ฌ์ฉ
โก ์ค์ ์ฑ๋ฅ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ
์ฌ๋ฌ ๋ฒค์น๋งํฌ ํ
์คํธ ๊ฒฐ๊ณผ๋ฅผ ์ข
ํฉํด๋ดค์ด.
๋ฌผ๋ก ํ๊ฒฝ๋ง๋ค ๋ค๋ฅด์ง๋ง ๋๋ต์ ์ธ ๊ฒฝํฅ์ฑ์ ํ์
ํ ์ ์์ง!
| ์๋๋ฆฌ์ค | IIS ์ฑ๋ฅ | Apache ์ฑ๋ฅ | ๋ถ์ |
|---|---|---|---|
| ์ ์ HTML (1KB) | 45,000 RPS | 38,000 RPS | IIS 18% ์ฐ์ธ |
| ์ ์ ์ด๋ฏธ์ง (100KB) | 8,500 RPS | 7,800 RPS | IIS 9% ์ฐ์ธ |
| ASP.NET Core API | 12,000 RPS | 8,000 RPS | IIS 50% ์ฐ์ธ |
| PHP 8.2 (WordPress) | 850 RPS | 920 RPS | Apache 8% ์ฐ์ธ |
| SSL/TLS ์ํธํ | 6,200 RPS | 5,800 RPS | IIS 7% ์ฐ์ธ |
| ๋์ ์ฐ๊ฒฐ 10K | ์์ ์ | ์์ ์ | ๋ ๋ค ์ฐ์ |
๋ณด๋ฉด ์๊ฒ ์ง๋ง ์ ์ ์ฝํ
์ธ ์ .NET ์ ํ๋ฆฌ์ผ์ด์
์์๋ IIS๊ฐ ํ์คํ ๋น ๋ฅด๊ณ ,
PHP ๊ฐ์ ์คํฌ๋ฆฝํธ ์ธ์ด์์๋ ์ํ์น๊ฐ ์ฝ๊ฐ ์ฐ์ธํด.
๊ทผ๋ฐ ์ฐจ์ด๊ฐ ์์ฒญ ํฌ์ง๋ ์์์ ์ค์ ๋ก๋ ์ฒด๊ฐํ๊ธฐ ์ด๋ ค์ธ ์๋ ์์ด ใ
ใ
๐ก ๋ฒค์น๋งํฌ ํด์ ์ ์ฃผ์์ฌํญ
์ด๋ฐ ๋ฒค์น๋งํฌ ์์น๋ ์ฐธ๊ณ ์ฉ์ผ๋ก๋ง ๋ด์ผ ํด!
์ค์ ์ด์ ํ๊ฒฝ์์๋ ๋คํธ์ํฌ ์ง์ฐ, DB ์ฟผ๋ฆฌ ์๊ฐ, ์ธ๋ถ API ํธ์ถ ๋ฑ
์น ์๋ฒ ์ฑ๋ฅ๋ณด๋ค ํจ์ฌ ํฐ ์ํฅ์ ๋ฏธ์น๋ ์์๋ค์ด ๋ง๊ฑฐ๋ .
์น ์๋ฒ ์์ฒด์ ์ฑ๋ฅ ์ฐจ์ด๋ ์ ์ฒด ์๋ต ์๊ฐ์ 10% ๋ฏธ๋ง์ผ ๋๊ฐ ๋ง์! ๐
๐ ๊ธ๋ก๋ฒ ํธ๋ํฝ ์ฒ๋ฆฌ
๋์ฉ๋ ํธ๋ํฝ์ ์ฒ๋ฆฌํ ๋๋ ์ด๋จ๊น?
์ด๋น ์๋ง ๊ฑด์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ํฉ์ ๊ฐ์ ํด๋ณด์.
IIS์ ๋์ฉ๋ ํธ๋ํฝ ์ฒ๋ฆฌ:
โข HTTP.sys์ ์ปค๋ ๋ชจ๋ ํ์์ผ๋ก ์์ฒญ ์์ค ์ต์ํ
โข ์ ํ๋ฆฌ์ผ์ด์
ํ ๊ฒฉ๋ฆฌ๋ก ์ฅ์ ์ ํ ๋ฐฉ์ง
โข ARR(Application Request Routing)๋ก ๋ก๋๋ฐธ๋ฐ์ฑ
โข ๋์ IP ์ ํ์ผ๋ก DDoS ์๋ ๋ฐฉ์ด
โข ์๋์ฐ ์ฑ๋ฅ ์นด์ดํฐ๋ก ์ค์๊ฐ ๋ชจ๋ํฐ๋ง
Apache์ ๋์ฉ๋ ํธ๋ํฝ ์ฒ๋ฆฌ:
โข Event MPM์ผ๋ก ๋น๋๊ธฐ ์ฒ๋ฆฌ (Linux์์ ์ต์ )
โข mod_proxy_balancer๋ก ๋ก๋๋ฐธ๋ฐ์ฑ
โข mod_evasive๋ก DDoS ๋ฐฉ์ด
โข ๋ค์ํ ๋ชจ๋ํฐ๋ง ๋๊ตฌ ์ฐ๋ ๊ฐ๋ฅ
โข ์ํ ํ์ฅ(Scale-out)์ด ์ฉ์ดํจ
์์งํ ๋งํ๋ฉด ๋์ฉ๋ ํธ๋ํฝ ์ฒ๋ฆฌ์์๋ Nginx๊ฐ ๋ ์ ๋ฆฌํด ใ
ใ
๊ทผ๋ฐ ์๋์ฐ ํ๊ฒฝ์ผ๋ก ํ์ ํ๋ฉด IIS๊ฐ ๋์์ง ์์.
ํนํ ์๋์ฐ ์๋ฒ์ ๋คํธ์ํน ์คํ๊ณผ ์ ํตํฉ๋์ด ์์ด์ ์์ ์ ์ด๊ฑฐ๋ !
๐ ๏ธ ์ค์ ์ค์ ํ
์ด์ ์ค์ ๋ก ์ค์ ํ ๋ ์์๋๋ฉด ์ข์ ํ๋ค์ ๊ณต์ ํ ๊ฒ!
์ด๊ฑฐ ๋ชจ๋ฅด๋ฉด ์ฑ๋ฅ ์ ๋ฐ๋ ๋ชป ๋ฝ์๋ผ ์ ์์ด ๐ฑ
โ๏ธ IIS ์ต์ ํ ์ค์
IIS ์ค์นํ๊ณ ๊ธฐ๋ณธ ์ค์ ๋ง ์ฐ๋ฉด ์ ๋ผ!
์ด๊ฒ์ ๊ฒ ํ๋ํด์ค์ผ ์ง์ง ์ฑ๋ฅ์ด ๋์.
ํ์ IIS ์ต์ ํ ํญ๋ชฉ:
1. ์ ํ๋ฆฌ์ผ์ด์
ํ ์ค์
โข ์ฌํ์ฉ ๊ฐ๊ฒฉ: 1740๋ถ (29์๊ฐ) โ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง
โข ์ ํด ์๊ฐ ์ ํ: 0 (๋นํ์ฑํ) โ ์ฒซ ์์ฒญ ์ง์ฐ ๋ฐฉ์ง
โข ์ต๋ ์์
์ ํ๋ก์ธ์ค: CPU ์ฝ์ด ์๋งํผ
โข .NET CLR ๋ฒ์ : "๊ด๋ฆฌ ์ฝ๋ ์์" (ASP.NET Core์ ๊ฒฝ์ฐ)
2. ์์ถ ์ค์
โข ์ ์ ์์ถ: ํ์ฑํ
โข ๋์ ์์ถ: ํ์ฑํ (CPU ์ฌ์ ์์ ๋)
โข ์์ถ ๋ ๋ฒจ: 7~9 (๋์์๋ก ์์ถ๋ฅ ์ข์ง๋ง CPU ์ฌ์ฉ ์ฆ๊ฐ)
3. ์บ์ฑ ์ค์
โข ์ปค๋ ๋ชจ๋ ์บ์ฑ: ํ์ฑํ
โข ์บ์ ํฌ๊ธฐ: ๋ฉ๋ชจ๋ฆฌ์ 10~20%
โข ์ถ๋ ฅ ์บ์ฑ: ๋์ ์ฝํ
์ธ ์๋ ์ ์ฉ
ํนํ ์ ํ๋ฆฌ์ผ์ด์
ํ ์ค์ ์ด ์ค์ํด!
๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋๋ฉด 20๋ถ๋ง๋ค ์ ํด ์ํ ํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋๋๋ฐ,
์ด๋ฌ๋ฉด ๋ค์ ์์ฒญ ์ฌ ๋ ํ๋ก์ธ์ค ์ฌ์์ํ๋๋ผ ๋๋ ค์ ธ ๐
<configuration>
<system.webServer>
<!-- ์์ถ ์ค์ -->
<urlCompression doStaticCompression="true"
doDynamicCompression="true" />
<!-- ์บ์ฑ ์ค์ -->
<caching enabled="true" enableKernelCache="true">
<profiles>
<add extension=".jpg" policy="CacheUntilChange"
kernelCachePolicy="CacheUntilChange" />
</profiles>
</caching>
<!-- HTTP/2 ํ์ฑํ -->
<serverRuntime enabled="true" />
</system.webServer>
</configuration>
๐ง Apache ์ต์ ํ ์ค์
์ํ์น๋ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก๋ ์ฑ๋ฅ์ด ๋ณ๋ก์ผ.
httpd.conf ํ์ผ์ ์ด์ฌํ ํ๋ํด์ค์ผ ํด!
ํ์ Apache ์ต์ ํ ํญ๋ชฉ:
1. MPM ์ค์ (Windows์์๋ WinNT MPM ์ฌ์ฉ)
โข ThreadsPerChild: 150~250
โข MaxConnectionsPerChild: 0 (๋ฌด์ ํ)
โข ๋ฉ๋ชจ๋ฆฌ ์ฌ์ ์์ผ๋ฉด ThreadsPerChild ๋๋ฆฌ๊ธฐ
2. KeepAlive ์ค์
โข KeepAlive On
โข MaxKeepAliveRequests: 100
โข KeepAliveTimeout: 5 (์ด)
3. ์์ถ ์ค์ (mod_deflate)
โข HTML, CSS, JS, JSON ์์ถ
โข ์ด๋ฏธ์ง๋ ์์ถ ์ ์ธ (์ด๋ฏธ ์์ถ๋จ)
httpd.conf ์์:
# MPM WinNT ์ค์
<IfModule mpm_winnt_module>
ThreadsPerChild 200
MaxConnectionsPerChild 0
</IfModule>
# KeepAlive ์ค์
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
# ์์ถ ์ค์
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css text/javascript
AddOutputFilterByType DEFLATE application/javascript application/json
</IfModule>
# ์บ์ฑ ์ค์
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
๊ทผ๋ฐ ์์งํ ์๋์ฐ์์ ์ํ์น ์ค์ ํ๋ ๊ฑด ์ข ๊ท์ฐฎ์ ใ
ใ
๋ฆฌ๋
์ค์ฒ๋ผ a2enmod ๊ฐ์ ํธ๋ฆฌํ ๋ช
๋ น์ด๋ ์๊ณ ,
๋ชจ๋ ํ์ฑํํ๋ ค๋ฉด httpd.conf์์ ์ฃผ์ ํ๊ณ ์ฌ์์ํด์ผ ํ๊ฑฐ๋ ๐
๐ ๋ณด์ ๊ฐํ ์ค์
์ฑ๋ฅ๋ ์ค์ํ์ง๋ง ๋ณด์์ ๋ ์ค์ํด!
๋ ์น ์๋ฒ ๋ชจ๋ ๊ธฐ๋ณธ ๋ณด์ ์ค์ ์ ๊ฐํํด์ผ ํด.
โ ๏ธ ๊ณตํต ๋ณด์ ์ฒดํฌ๋ฆฌ์คํธ
โ
๋ถํ์ํ HTTP ๋ฉ์๋ ๋นํ์ฑํ (TRACE, OPTIONS ๋ฑ)
โ
์๋ฒ ์ ๋ณด ์จ๊ธฐ๊ธฐ (Server ํค๋ ์ ๊ฑฐ)
โ
๋๋ ํ ๋ฆฌ ๋ฆฌ์คํ
๋นํ์ฑํ
โ
์ต์ TLS ๋ฒ์ ๋ง ํ์ฉ (TLS 1.2, 1.3)
โ
์ฝํ ์ํธํ ์ค์ํธ ์ ๊ฑฐ
โ
ํ์ผ ์
๋ก๋ ํฌ๊ธฐ ์ ํ
โ
์์ฒญ ํ์์์ ์ค์
โ
์ ๊ธฐ์ ์ธ ๋ณด์ ํจ์น ์ ์ฉ
IIS์์ ์๋ฒ ํค๋ ์จ๊ธฐ๊ธฐ:
<system.webServer>
<security>
<requestFiltering removeServerHeader="true" />
</security>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
Apache์์ ์๋ฒ ํค๋ ์จ๊ธฐ๊ธฐ:
ServerTokens Prod
ServerSignature Off
Header unset X-Powered-By
๐ค ์ปค๋ฎค๋ํฐ์ ์ง์
๋ฌธ์ ์๊ฒผ์ ๋ ๋์๋ฐ์ ๊ณณ์ด ์๋์ง๋ ์ค์ํ์ง!
ํผ์ ์ฝ์งํ๋ค ์๊ฐ ๋ค ๋ณด๋ด๋ฉด ์ ๋๋๊น ใ
ใ
ใ
๐ IIS ์ง์ ์ฑ๋
IIS ๊ด๋ จ ๋์๋ฐ์ ์ ์๋ ๊ณณ:
โข Microsoft Docs: ๊ณต์ ๋ฌธ์๊ฐ ์ ์ ๋ฆฌ๋์ด ์์
โข IIS ํฌ๋ผ: forums.iis.net์์ ์ง๋ฌธ ๊ฐ๋ฅ
โข Stack Overflow: iis ํ๊ทธ๋ก ๊ฒ์ํ๋ฉด ๋ต๋ณ ๋ง์
โข Microsoft ๊ธฐ์ ์ง์: ์ ๋ฃ์ง๋ง ๊ณต์ ์ง์ ๋ฐ์ ์ ์์
โข YouTube: ์ค์ ๊ด๋ จ ํํ ๋ฆฌ์ผ ์์ ๋ง์
๋ง์ดํฌ๋ก์ํํธ ์ ํ์ด๋ผ ๊ณต์ ๋ฌธ์ ํ๋ฆฌํฐ๊ฐ ์ข์.
๊ทผ๋ฐ ํ๊ธ ๋ฌธ์๋ ๋ฒ์ญ์ด ์ข ์ด์ํ ๋๊ฐ ์์ด์ ์๋ฌธ์ผ๋ก ๋ณด๋ ๊ฒ ๋์ ์๋ ์์ด ๐
๐ Apache ์ง์ ์ฑ๋
Apache ๊ด๋ จ ๋์๋ฐ์ ์ ์๋ ๊ณณ:
โข Apache ๊ณต์ ๋ฌธ์: httpd.apache.org/docs/
โข Apache ๋ฉ์ผ๋ง ๋ฆฌ์คํธ: ๊ฐ๋ฐ์๋ค์ด ์ง์ ๋ต๋ณ
โข Stack Overflow: apache ํ๊ทธ ์ง๋ฌธ ์์ฒญ ๋ง์
โข Reddit: r/apache ์ปค๋ฎค๋ํฐ
โข IRC ์ฑ๋: #httpd on Libera.Chat
์ํ์น๋ ์คํ์์ค๋ผ ์ปค๋ฎค๋ํฐ๊ฐ ์์ฒญ ํ๋ฐํด!
๊ทผ๋ฐ ์๋์ฐ ๊ด๋ จ ์ง๋ฌธ์ ์๋์ ์ผ๋ก ๋ต๋ณ์ด ์ ์ ์ ์์ด.
๋๋ถ๋ถ ๋ฆฌ๋
์ค ํ๊ฒฝ ๊ธฐ์ค์ผ๋ก ๋ต๋ณํ๊ฑฐ๋ ใ
ใ
๐ก ์ฌ๋ฅ๋ท ํ์ฉํ๊ธฐ
IIS๋ ์ํ์น ์ค์ ์ด ์ด๋ ต๋ค๋ฉด ์ฌ๋ฅ๋ท์์ ์ ๋ฌธ๊ฐํํ
๋์๋ฐ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด์ผ!
์๋ฒ ์ค์ , ์ฑ๋ฅ ํ๋, ๋ณด์ ๊ฐํ ๋ฑ ์ค๋ฌด ๊ฒฝํ ์๋ ๊ฐ๋ฐ์๋ค์ด ๋ง๊ฑฐ๋ .
ํผ์ ์ฝ์งํ๋ ๊ฒ๋ณด๋ค ์ ๋ฌธ๊ฐํํ
๋ฐฐ์ฐ๋ ๊ฒ ํจ์ฌ ๋น ๋ฅด๊ณ ์ ํํด! ๐
๐ ํ์ต ์๋ฃ
์ฒ์ ๋ฐฐ์ฐ๋ ์ฌ๋๋ค์ ์ํ ์๋ฃ๋ ์ ๋ฆฌํด๋ดค์ด:
IIS ํ์ต ์๋ฃ:
โข Microsoft Learn: ๋ฌด๋ฃ ์จ๋ผ์ธ ๊ฐ์ข
โข Pluralsight: IIS ๊ด๋ จ ์ ๋ฃ ๊ฐ์ ๋ง์
โข YouTube: "IIS tutorial" ๊ฒ์ํ๋ฉด ๊ธฐ์ด๋ถํฐ ๊ณ ๊ธ๊น์ง
โข ์์ : "Professional IIS" ์๋ฆฌ์ฆ ์ถ์ฒ
Apache ํ์ต ์๋ฃ:
โข Apache ๊ณต์ ํํ ๋ฆฌ์ผ
โข Udemy: Apache ์น ์๋ฒ ๊ฐ์
โข DigitalOcean ํํ ๋ฆฌ์ผ: ์ค์ ์์ ๋ง์
โข ์์ : "Apache Cookbook" ์ถ์ฒ
๐ฏ ๊ฒฐ๋ก : ์ด๋ค ๊ฑธ ์ ํํด์ผ ํ ๊น?
์ ์ด์ ๊ฒฐ๋ก ์ ๋ด๋ ค๋ณด์!
๊ทผ๋ฐ ์ ๋ต์ "์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค"์ผ ใ
ใ
ใ
๋ปํ ๋ต๋ณ ๊ฐ์ง๋ง ์ง์ง ๊ทธ๋ ๐
๐ IIS๋ฅผ ์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ:
โ
์๋์ฐ ์๋ฒ ํ๊ฒฝ์ด ์ด๋ฏธ ๊ตฌ์ถ๋์ด ์์
โ
ASP.NET, ASP.NET Core ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ
โ
Active Directory ํตํฉ ์ธ์ฆ์ด ํ์ํจ
โ
GUI ๊ธฐ๋ฐ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ ํธํจ
โ
๋ง์ดํฌ๋ก์ํํธ ๊ธฐ์ ์ง์์ด ํ์ํจ
โ
.NET ๊ฐ๋ฐํ์ด ์์
โ
์ ์ ์ฝํ
์ธ ์๋น์ด ์ฃผ์ ์
๋ฌด
โ
์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์ ์์ ์ฑ ์ค์
๐ชถ Apache๋ฅผ ์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ:
โ
PHP, Python, Ruby ๋ฑ ์คํฌ๋ฆฝํธ ์ธ์ด ์ฌ์ฉ
โ
์คํ์์ค ์ํ๊ณ๋ฅผ ์ ํธํจ
โ
๋ผ์ด์ ์ค ๋น์ฉ ์ ๊ฐ์ด ์ค์ํจ
โ
ํฌ๋ก์ค ํ๋ซํผ ํธํ์ฑ์ด ํ์ํจ
โ
์ค์ ํ์ผ ๊ธฐ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ ํธํจ
โ
์ปค๋ฎค๋ํฐ ์ง์์ผ๋ก ์ถฉ๋ถํจ
โ
๋ค์ํ ๋ชจ๋ ํ์ฅ์ฑ์ด ํ์ํจ
โ
WordPress, Drupal ๋ฑ PHP CMS ์ด์
๐ ์ต์ข ๋น๊ต ์์ฝ
| ๋น๊ต ํญ๋ชฉ | IIS | Apache |
|---|---|---|
| ์ ์ ์ฝํ ์ธ ์ฑ๋ฅ | โญโญโญโญโญ | โญโญโญโญ |
| .NET ์ฑ๋ฅ | โญโญโญโญโญ | โญโญ |
| PHP ์ฑ๋ฅ | โญโญโญ | โญโญโญโญ |
| ๊ด๋ฆฌ ํธ์์ฑ | โญโญโญโญโญ | โญโญโญ |
| ๋ณด์ ๊ธฐ๋ฅ | โญโญโญโญ | โญโญโญโญ |
| ํ์ฅ์ฑ | โญโญโญโญ | โญโญโญโญโญ |
| ์ปค๋ฎค๋ํฐ | โญโญโญ | โญโญโญโญโญ |
| ๋น์ฉ | โญโญโญ | โญโญโญโญโญ |
| ํ์ต ๊ณก์ | โญโญโญโญโญ | โญโญโญ |
๐ญ ๊ฐ์ธ์ ์ธ ์๊ฒฌ
๋ด ๊ฒฝํ์ ์๋์ฐ ํ๊ฒฝ์์๋ IIS๊ฐ ๋ ๋์ ์ ํ์ธ ๊ฒ ๊ฐ์.
ํนํ .NET ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ์๋ ๊ณ ๋ฏผํ ํ์๋ ์์ด IIS์ง!
์ฑ๋ฅ๋ ์ข๊ณ ๊ด๋ฆฌ๋ ํธํ๊ณ ํตํฉ๋ ์๋ฒฝํ๋๊น ๐
๊ทผ๋ฐ PHP ๊ฐ๋ฐ์๋ผ๋ฉด ์๊ธฐ๊ฐ ๋ฌ๋ผ์ ธ.
์ํ์น๊ฐ PHP์์ ๊ถํฉ์ด ๋ ์ข๊ณ , ๋ ํผ๋ฐ์ค๋ ๋ง๊ณ , ๋ฌธ์ ํด๊ฒฐ๋ ์ฌ์.
๊ตณ์ด ์๋์ฐ์์ ์ํ์น ์ธ ํ์๋ ์์ง๋ง, ๋ฆฌ๋
์ค๋ก ์ฎ๊ธธ ๊ณํ์ด ์๋ค๋ฉด ์ํ์น๊ฐ ๋์ ์ ์์ด.
๐ก ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ๋ฒ
์ฌ์ค ์์ฆ์ Nginx๋ฅผ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ก ์๋จ์ ๋๊ณ
๋ท๋จ์์ IIS๋ ์ํ์น๋ฅผ ๋๋ฆฌ๋ ๊ตฌ์กฐ๋ ๋ง์ด ์จ.
Nginx๊ฐ ์ ์ ํ์ผ ์๋นํ๊ณ SSL ์ฒ๋ฆฌํ๋ฉด์,
๋์ ์์ฒญ๋ง ๋ฐฑ์๋ ์น ์๋ฒ๋ก ๋๊ธฐ๋ ๊ฑฐ์ง.
์ด๋ ๊ฒ ํ๋ฉด ๊ฐ๊ฐ์ ์ฅ์ ์ ๋ค ์ด๋ฆด ์ ์์ด! ๐ฏ
๐ ๋ฏธ๋ ์ ๋ง
์์ผ๋ก๋ ์ด๋ป๊ฒ ๋ ๊น?
๊ฐ์ธ์ ์ผ๋ก๋ ์ปจํ
์ด๋ ๊ธฐ์ ์ด ๋ ๋ณดํธํ๋๋ฉด์
์น ์๋ฒ ์ ํ์ ์ค์์ฑ์ด ์กฐ๊ธ ์ค์ด๋ค ๊ฒ ๊ฐ์.
Docker ์ปจํ
์ด๋๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ํจํค์งํ๋ฉด
์ด๋ค ์น ์๋ฒ๋ ์ฝ๊ฒ ๊ต์ฒดํ ์ ์๊ฑฐ๋ .
Kubernetes ๊ฐ์ ์ค์ผ์คํธ๋ ์ด์
๋๊ตฌ๋ฅผ ์ฐ๋ฉด
์น ์๋ฒ๋ ๊ทธ๋ฅ ํ๋์ ์ปดํฌ๋ํธ์ผ ๋ฟ์ด์ผ.
๊ทธ๋๋ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์ด๋ ๋ ๊ฑฐ์ ์์คํ
์์๋
์ฌ์ ํ IIS์ ์ํ์น๊ฐ ์ค์ํ ์ญํ ์ ํ ๊ฑฐ์ผ.
ํนํ ๊ตญ๋ด ๊ธฐ์
ํ๊ฒฝ์์๋ ๋น๋ถ๊ฐ IIS๊ฐ ์ฃผ๋ฅ์ผ ๊ฒ ๊ฐ๊ณ ! ๐ข
๐ ๋ง๋ฌด๋ฆฌํ๋ฉฐ
์ ์ฌ๊ธฐ๊น์ง ์ฝ๋๋ผ ๊ณ ์ํ์ด! ๐
IIS์ ์ํ์น์ ๋ํด ๊ฝค ๊น์ด ์๊ฒ ๋ค๋ค๋ดค๋๋ฐ ๋์์ด ๋์ผ๋ฉด ์ข๊ฒ ๋ค.
๊ฒฐ๊ตญ ์ค์ํ ๊ฑด ์์ ์ ํ๋ก์ ํธ์ ๋ง๋ ์ ํ์ ํ๋ ๊ฑฐ์ผ.
๋จ๋ค์ด ๋ญ๋ผ๊ณ ํ๋ , ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๋ ,
๋ด ํ๊ฒฝ์์ ์ ๋์ํ๊ณ ๊ด๋ฆฌํ๊ธฐ ํธํ ๊ฒ ์ต๊ณ ์ง!
๐ฏ ํต์ฌ ์์ฝ:
โข ์๋์ฐ + .NET ํ๊ฒฝ์ด๋ฉด IIS๊ฐ ์ต์
โข PHP ๋ฑ ์คํฌ๋ฆฝํธ ์ธ์ด๋ฉด Apache๋ ์ข์ ์ ํ
โข ์ ์ ์ฝํ
์ธ ์ฑ๋ฅ์ IIS๊ฐ ์ฐ์ธ
โข ํ์ฅ์ฑ๊ณผ ์ปค๋ฎค๋ํฐ๋ Apache๊ฐ ์ฐ์ธ
โข ๊ด๋ฆฌ ํธ์์ฑ์ IIS๊ฐ ์๋์
โข ๋น์ฉ์ Apache๊ฐ ์ ๋ฆฌ (์คํ์์ค)
โข ์ค์ ์ฑ๋ฅ ์ฐจ์ด๋ ์๊ฐ๋ณด๋ค ํฌ์ง ์์
โข ์์ ์ ๊ธฐ์ ์คํ๊ณผ ํ ์ญ๋์ ๊ณ ๋ คํด์ ์ ํ!
์น ์๋ฒ ์ ํ์ ํ ๋ฒ ํ๋ฉด ๋ฐ๊พธ๊ธฐ ์ด๋ ค์ด ๊ฒฐ์ ์ด๋๊น
์ถฉ๋ถํ ๊ณ ๋ฏผํ๊ณ ํ
์คํธํด๋ณด๋ ๊ฒ ์ข์.
๊ฐ๋ฅํ๋ฉด ์ค์ ์ด์ ํ๊ฒฝ๊ณผ ๋น์ทํ ์กฐ๊ฑด์์ ๋ฒค์น๋งํฌ ๋๋ ค๋ณด๊ณ ๊ฒฐ์ ํ๊ธธ ์ถ์ฒํด! ๐
๊ทธ๋ฆฌ๊ณ ์น ์๋ฒ ์ค์ ์ด๋ ์ต์ ํ๊ฐ ์ด๋ ต๋ค๋ฉด
ํผ์ ๊ณ ๋ฏผํ์ง ๋ง๊ณ ์ ๋ฌธ๊ฐํํ
๋์๋ฐ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด์ผ.
์๊ฐ์ด ๊ณง ๋์ด๋๊น ํจ์จ์ ์ผ๋ก ํด๊ฒฐํ๋ ๊ฒ ์ค์ํ๊ฑฐ๋ ใ
ใ
๐ ๋ค์ ๋จ๊ณ:
1. ์์ ์ ํ๋ก์ ํธ ์๊ตฌ์ฌํญ ์ ๋ฆฌํ๊ธฐ
2. ๋ ์น ์๋ฒ ๋ชจ๋ ํ
์คํธ ํ๊ฒฝ์์ ์ค์นํด๋ณด๊ธฐ
3. ๊ฐ๋จํ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์ฑ๋ฅ ๋น๊ตํ๊ธฐ
4. ๊ด๋ฆฌ ๋๊ตฌ ์ฌ์ฉํด๋ณด๊ณ ํธ์์ฑ ํ์ธํ๊ธฐ
5. ํ์๋ค๊ณผ ๋
ผ์ํด์ ์ต์ข
๊ฒฐ์ ํ๊ธฐ
6. ์ ํํ ์น ์๋ฒ ์ต์ ํ ์ค์ ์ ์ฉํ๊ธฐ
7. ๋ชจ๋ํฐ๋ง ๋๊ตฌ ์ค์ ํ๊ณ ์ง์์ ์ผ๋ก ๊ฐ์ ํ๊ธฐ
์น ์๋ฒ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ธฐ๋ฐ์ด ๋๋ ์ค์ํ ์ธํ๋ผ์ผ.
์ฒ์์ ์ ์ ํํ๊ณ ์ ๋๋ก ์ค์ ํด๋๋ฉด
๋์ค์ ์ฑ๋ฅ ๋ฌธ์ ๋ก ๊ณ ์ํ ์ผ์ด ํจ์ฌ ์ค์ด๋ค์ด! ๐ช
๊ทธ๋ผ ๋ชจ๋ ์ฑ๊ณต์ ์ธ ์น ์๋น์ค ์ด์ํ๊ธธ ๋ฐ๋ผ! ๐
๊ถ๊ธํ ์ ์์ผ๋ฉด ์ธ์ ๋ ์ปค๋ฎค๋ํฐ์ ๋ฌผ์ด๋ณด๊ณ ,
ํ์ํ๋ฉด ์ ๋ฌธ๊ฐ์ ๋์๋ ๋ฐ์๊ฐ๋ฉด์ ์งํํด๋ด.
ํ์ดํ ! ๐โจ
๐ ์ด ๊ธ์ด ๋์์ด ๋์๋์?
์น ์๋ฒ ์ค์ , ์ฑ๋ฅ ์ต์ ํ, ๋ณด์ ๊ฐํ ๋ฑ
๋ ์์ธํ ๋์์ด ํ์ํ๋ค๋ฉด ์ฌ๋ฅ๋ท์์ ์ ๋ฌธ๊ฐ๋ฅผ ์ฐพ์๋ณด์ธ์!
๐ Happy Coding! ๐
๊ด๋ จ ํค์๋
๋๊ธ ์์ฑ
์ด ๊ธ์ ๋ํ ์ฌ๋ฌ๋ถ์ ์๊ฐ์ ๋ค๋ ค์ฃผ์ธ์
๋ก๊ทธ์ธ์ด ํ์ํฉ๋๋ค
๋๊ธ์ ์์ฑํ๋ ค๋ฉด ๋จผ์ ๋ก๊ทธ์ธํด์ฃผ์ธ์.
๋๊ธ 0
์ง์์ธ์ ์ฒ - ์ง์ ์ฌ์ฐ๊ถ ๋ณดํธ ๊ณ ์ง
์ง์ ์ฌ์ฐ๊ถ ๋ณดํธ ๊ณ ์ง
- ์ ์๊ถ ๋ฐ ์์ ๊ถ: ๋ณธ ์ปจํ ์ธ ๋ ์ฌ๋ฅ๋ท์ ๋ ์ AI ๊ธฐ์ ๋ก ์์ฑ๋์์ผ๋ฉฐ, ๋ํ๋ฏผ๊ตญ ์ ์๊ถ๋ฒ ๋ฐ ๊ตญ์ ์ ์๊ถ ํ์ฝ์ ์ํด ๋ณดํธ๋ฉ๋๋ค.
- AI ์์ฑ ์ปจํ ์ธ ์ ๋ฒ์ ์ง์: ๋ณธ AI ์์ฑ ์ปจํ ์ธ ๋ ์ฌ๋ฅ๋ท์ ์ง์ ์ฐฝ์๋ฌผ๋ก ์ธ์ ๋๋ฉฐ, ๊ด๋ จ ๋ฒ๊ท์ ๋ฐ๋ผ ์ ์๊ถ ๋ณดํธ๋ฅผ ๋ฐ์ต๋๋ค.
- ์ฌ์ฉ ์ ํ: ์ฌ๋ฅ๋ท์ ๋ช ์์ ์๋ฉด ๋์ ์์ด ๋ณธ ์ปจํ ์ธ ๋ฅผ ๋ณต์ , ์์ , ๋ฐฐํฌ, ๋๋ ์์ ์ ์ผ๋ก ํ์ฉํ๋ ํ์๋ ์๊ฒฉํ ๊ธ์ง๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ์์ง ๊ธ์ง: ๋ณธ ์ปจํ ์ธ ์ ๋ํ ๋ฌด๋จ ์คํฌ๋ํ, ํฌ๋กค๋ง, ๋ฐ ์๋ํ๋ ๋ฐ์ดํฐ ์์ง์ ๋ฒ์ ์ ์ฌ์ ๋์์ด ๋ฉ๋๋ค.
- AI ํ์ต ์ ํ: ์ฌ๋ฅ๋ท์ AI ์์ฑ ์ปจํ ์ธ ๋ฅผ ํ AI ๋ชจ๋ธ ํ์ต์ ๋ฌด๋จ ์ฌ์ฉํ๋ ํ์๋ ๊ธ์ง๋๋ฉฐ, ์ด๋ ์ง์ ์ฌ์ฐ๊ถ ์นจํด๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์์ง ๋๊ธ์ด ์์ต๋๋ค.