Nginx랑 Apache의 차이 알아보기
✔️ 웹 서버 (Web Server)
웹 서버란 HTTP를 통하여 웹 클라이언트가 요청한 데이터를 제공해주는 (=요청에 응답하는) 프로그램 입니다.
에전에는 웹 서버로 Apache를 많이 사용했지만 최근에는 Nginx를 많이 사용합니다.
✔️ Apache
프로세스 기반 접근 방식으로 하나의 스레드가 아닌 하나의 스레드가 하나의 요청을 처리하는 구조입니다.
✔️ Ngnix
이벤트 중심 접근 방식으로 하나의 스레드 내에서 여러가지 요청을 처리하는 구조입니다.
✔️ Ngnix가 인기 많은 이유
Ngnix는 대용량 트래픽 처리에 용이한 경량 웹서버입니다. Ngnix가 인기를 끌게 된 것에는 다양한 이유가 있을테지만, 그중에서도 몇 가지를 꼽자면 클라이언트의 요청을 처리하고 응답하는 방식이 다르고(Apache : 프로세스 기반 접근 방식, Ngnix : 이벤트 중심 접근 방식), 동적 컨텐츠 제공 시에는 성능이 비슷하지만 정적 컨텐츠를 제공할 때 Ngnix는 적은 비용으로 효율적인 제공이 가능하게 된다는 점을 들 수 있습니다.
✔️ Apache vs Nginx
Apache | NginX |
---|---|
요청 당 스레드 또는 프로세스가 처리하는 구조 | 비동기 이벤트 기반으로 요청 |
CPU/메모리 자원 낭비 심함 | CPU/메모리 자원 사용률 낮음 |
NginX보다 모듈이 다양 | Apache에 비해 다양한 모듈이 없음 |
PHP 모듈 등 직접 적재 가능 | 많은 접속자들 대응 가능 |
안정성, 확장성, 호환성 우세 | 성능 우세 |
동적 컨텐츠 단독 처리 가능 | 동적 컨텐츠 단독 처리 불가능 |
오늘은 Ngnix에 대해 알아보았습니다. Apach를 사용하여 배포해본 경험은 있으니 조만간 Ngnix를 사용한 배포도 해보도록 하겠습니다.
✔️ 참고 사이트
- https://www.nginx.com/blog/thread-pools-boost-performance-9x/
- https://serverguy.com/comparison/apache-vs-nginx/
- https://velog.io/@deannn/Apache%EC%99%80-NginX-%EB%B9%84%EA%B5%90-%EC%B0%A8%EC%9D%B4%EC%A0%90
🔔포스팅 공지
개인 공부 기록용 블로그 입니다.
잘못된 부분이 있을 시 메일이나 댓글로 지적해주시면 감사드리겠습니다 :)
댓글남기기