이 기술의 장단점
장점
- 오픈 소스이다.
- 최근 문서가 많고 커뮤니티 형성이 잘 되어 있다.
- 유연한 설정이 가능하다.
- 웹 서버 기능만 제공하는 것이 아니라 리버스 프록시, 로드 밸런싱 기능 또한 제공한다.
단점
- 구성 파일(conf 파일)을 작성하는데 학습이 필요하므로 러닝 커브가 발생한다.
선택한 이유
- 만약 우리 서비스에서 미디어 서버를 여러 개 두는 분산 환경으로 구성할 때 Nginx가 RTMP 모듈을 지원해 로드밸런싱 용도로 적합하다고 생각했음
- 웹 서버로 Nginx를 사용하면 SSL 인증을 쉽게 처리해줄 수 있기 때문에 용이하다고 판단
- 웹 서버로 사용할 경우 정적 파일 서빙용으로 별도의 서버를 구현하는 것보다 간단하게 정적 파일 제공이 가능하다고 생각함
대체안은 무엇이 있는가?
웹 서버로 사용하는 경우
- Apache HTTP Server
- Apache는 프로세스 기반 접근 방식으로 매 요청마다 스레드를 생성 및 할당하여 리소스를 많이 사용.
- Nginx가 더 적은 비용으로 정적 컨텐츠를 효율적으로 제공할 수 있음.