C#/이모저모

IIS(Internet Information Services)

Red_Horse 2025. 11. 27. 00:29

Microsoft가 만든 웹 서버 소프트웨어

 
식당으로 비유:
- ASP.NET MVC 앱 = 요리사가 만든 음식
- IIS = 식당 건물 + 웨이터 (손님에게 음식을 서빙)
- 브라우저 = 손님
// 역할
1. 브라우저 요청 받기
   사용자: "http://localhost/Home/Index 주세요!"
   
2. ASP.NET 앱에게 전달
   IIS: "야, ASP.NET! /Home/Index 처리해줘"
   
3. 결과를 브라우저에게 돌려주기
   IIS: "여기 HTML 페이지 나왔습니다~"

 

타 웹 서버들과 비교

서버  주로 사용하는 언어운영체제
IIS C# (ASP.NET) Windows
Apache PHP, Python Linux/Windows
Nginx 모든 언어 Linux/Windows
Tomcat Java Linux/Windows

 

Visual Studio에서 개발할 시

개발 중 (F5 실행시)

IIS Express 사용
- IIS의 경량 버전
- 개발자 PC에서만 동작
- 자동으로 실행됨 (포트: 44300 같은 번호)

 

실제 서버 배포 시

IIS (full version) 사용
- Windows Server에 설치
- 실제 사용자들이 접속
- 포트 80 (HTTP) 또는 443 (HTTPS)

 

실제 사용 예시

당신의 개발 환경:
┌─────────────────────────────────┐
│  Visual Studio (F5 실행)         │
│         ↓                       │
│  IIS Express 자동 시작            │
│         ↓                       │
│  ASP.NET MVC 앱 실행              │
│         ↓                       │
│  브라우저 자동 열림:                 │
│  https://localhost:44300        │
└─────────────────────────────────┘

실제 서버 환경:
┌─────────────────────────────────┐
│  Windows Server                 │
│         ↓                       │
│  IIS 설치 및 설정                  │
│         ↓                       │
│  ASP.NET MVC 앱 배포              │
│         ↓                       │
│  사용자 접속:                      │
│  https://company.com            │
└─────────────────────────────────┘

 

IIS Manager (관리 도구)

Windows에서 IIS를 설정할 때 사용하는 GUI 프로그램:

할 수 있는 것들:
✅ 웹사이트 추가/삭제
✅ 포트 번호 변경 (80, 443, 8080 등)
✅ SSL 인증서 설정 (HTTPS)
✅ 애플리케이션 풀 관리 (메모리, CPU 제한)
✅ 가상 디렉토리 설정

 

IIS는 .net Framework 버전(.net core 이전버전)에서 Window만 지원되어 사용한 구조로서 .net core부터는 실행되는 서버의 운영체제 제한이 없어졌습니다.