답변:
Node.js 앞에 다른 웹 서버를 설치해야하는 몇 가지 이유가 있습니다.
CDN을 통해 또는 Varnish와 같은 캐싱 서버 뒤에서 정적 파일을 제공해야한다고 말함으로써 두 번째 글 머리 기호에주의해야합니다. 이 작업을 수행하는 경우 원점이 Node, Nginx 또는 Apache인지는 중요하지 않습니다.
nginx를 사용한주의 사항 : 웹 소켓을 사용하는 경우 웹 소켓을 사용하도록 연결을 업그레이드하기위한 지원 만 추가했기 때문에 최신 버전의 nginx (> = 1.3.13)를 사용해야합니다.
:80authbind를 사용하여 간단히 루트로 노드를 실행하지 않고 예약 된 포트에 바인딩 할 수 있습니다 . thomashunter.name/blog/using-authbind-with-node-js
정적 파일을 제공하기 위해 Node를 사용 하는 것은 당신이 무엇을하고 있는지 아는 한 모든 상황에서 좋습니다 . 많은 (모든?) 경쟁 기술 (PHP, Ruby, Python 등)이 응용 프로그램 서버 앞에 HTTPD 또는 Nginx와 같은 웹 서버를 필요로하므로 정적 파일을 제공하기 위해 응용 프로그램 서버를 사용하는 것은 새로운 패러다임입니다. .
Node로 정적 파일을 제공하는 것에 대해 읽은 모든 객관적인 이유는 가장 잘 알고있는 것을 사용하거나 더 잘 테스트되고 더 안정적인 것으로 인식되는 것을 사용한다는 아이디어를 중심으로합니다. 이것들은 실제로 말하는 매우 유효한 이유이지만 순수한 기술적 관련성은 거의 없습니다.
Node에서 가능하지 않은 클래식 웹 서버에서 가능한 기능을 찾지 못하면 (그리고 의심 할 것입니다), 가장 잘 알고 있거나 두 가지 방법 중 하나를 사용하여 선호하는 것을 선택하십시오.
Nginx와 Apache는 노드와 동일하게 "재생"됩니다. 노드에 관계없이 비교해야합니다.
systemd하면 pm2, 등의 통합을 알아 내야합니다 . 그래서 플러스와 마이너스가 있으며 사용자가 독을 선택해야합니다. .
express.staticETag 및 캐시 제어 헤더를 잘 처리합니다.