node.js 를 사용해서 웹서버를 구축해서 서비스할 때 보통 nginx를 사용한다.
이유는,
Node.js는 단일 스레드로 요청을 처리하므로 많은 요청이 동시에 발생할 때 처리 속도가 떨어질 수 있다. 이를 해결하기 위해 Node.js는 클러스터링(cluster)을 지원하며, 이를 사용하면 여러 개의 Node.js 인스턴스를 동시에 실행하여 요청을 분산 처리할 수 있다.
하지만 이렇게 여러 개의 Node.js 인스턴스를 실행하면 포트 번호가 중복되는 문제가 발생할 수 있다. 이를 해결하기 위해 nginx를 사용한다. nginx는 리버스 프록시(reverse proxy) 기능을 지원하여, 여러 개의 Node.js 인스턴스에 대한 요청을 하나의 포트 번호로 받아서 각 인스턴스에 전달한다. 이렇게 함으로써, 여러 개의 Node.js 인스턴스를 효율적으로 운영할 수 있다.
또한, Node.js는 동적 컨텐츠를 처리하는 데 적합하고, nginx는 정적 파일을 처리하는 데 적합합니다. 따라서, nginx를 사용하면 정적 파일을 처리하는 데 있어서 빠르고 안정적인 웹 서버를 운영할 수 있습니다.
'Dev > Web' 카테고리의 다른 글
[backend] 리버스 프록시 (reverse proxy) - with nginx (0) | 2019.09.04 |
---|
댓글