웹상의 서버는 모두 웹서버라고 부르지만, 사람마다 업무 분장이 다릅니다.
nginx는 일반적으로 정적 콘텐츠 서비스 및 프록시 서버(FQ 프록시 아님)로 사용되며 외부 요청을 직접 전달합니다. 후속 애플리케이션 서비스(tomcat, django 등)의 경우 tomcat은 application 컨테이너로 더 많이 사용되며, jboss, jetty 등에 해당하는 Java 웹 앱을 실행할 수 있습니다. 같은 수준이에요.
그러나 확실한 것은 없습니다. nginx도 모듈 개발을 통해 애플리케이션 기능을 제공할 수 있고, tomcat도 직접 http 서비스를 제공할 수 있습니다. 일반적으로 흐름 제어와 같은 소규모 서비스가 필요하지 않은 인트라넷 및 시나리오에서 사용됩니다. .
apache는 점점 더 적게 사용되며 그 기능은 일반적으로 nginx와 더 많이 겹칩니다.
엄밀히 말하면 Apache/Nginx는 "HTTP 서버"라고 해야 하며 Tomcat은 "애플리케이션 서버", 더 정확하게는 "Servlet/JSP용 컨테이너"라고 해야 합니다. " 애플리케이션(Ruby/Python 등 다른 언어로 개발된 애플리케이션은 Tomcat에서 직접 실행할 수 없습니다.)
HTTP 서버는 HTTP 프로토콜 수준에서 전송 및 액세스 제어와 관련이 있으므로 Apache/Nginx에서는 프록시 및 로드 밸런싱과 같은 기능을 볼 수 있습니다. 클라이언트는 HTTP Server를 통해 서버에 저장된 리소스(HTML 파일, 이미지 파일 등)에 접근합니다. CGI 기술을 이용하면 처리된 콘텐츠를 HTTP Server를 통해서도 배포할 수 있지만, HTTP Server는 항상 HTTP 프로토콜을 통해서만 서버에 있는 파일을 클라이언트에게 충실하게 전송합니다.
애플리케이션 서버는 애플리케이션 실행을 위한 컨테이너입니다. 애플리케이션이 애플리케이션 서버에서 정상적으로 실행될 수 있도록 하려면 먼저 개발 언어(Tomcat의 경우 Java)의 런타임을 지원해야 합니다. 둘째, 클래스 라이브러리, 보안 기능 등 애플리케이션 관련 사양을 지원해야 합니다. Tomcat의 경우 JSP/Sevlet 운영에 필요한 표준 클래스 라이브러리, 인터페이스 등을 제공해야 합니다. 편의상 HTTP Server의 기능을 통합하는 경우가 많지만, 전문적인 HTTP Server만큼 강력하지는 않습니다. 따라서 응용 서버는 HTTP Server 뒤에서 실행되고, 응용 프로그램을 실행하며, 배포하는 HTTP Server를 통해 동적 콘텐츠를 정적 콘텐츠로 변환하는 경우가 많습니다. 클라이언트.
더 많은 Nginx 관련 기술 기사를 보려면 Nginx 튜토리얼#🎜🎜을 방문하세요. #배움의칼럼!
위 내용은 톰캣과 nginx의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!