>  기사  >  Java  >  nginx와 tomcat의 차이점

nginx와 tomcat의 차이점

(*-*)浩
(*-*)浩원래의
2019-06-03 11:41:304203검색

nginx

Nginx(엔진 x)는 고성능 HTTP 및 역방향 프록시 웹 서버이며 IMAP/POP3/SMTP 서비스도 제공합니다. Nginx는 러시아에서 두 번째로 방문자가 많은 Rambler.ru 사이트(러시아어: Рамблер)를 위해 Igor Sesoev에 의해 개발되었습니다. 첫 번째 공개 버전 0.1.0은 2004년 10월 4일에 출시되었습니다.

nginx와 tomcat의 차이점

BSD와 유사한 라이센스에 따라 소스 코드를 릴리스하며 안정성, 풍부한 기능 세트, 샘플 구성 파일 및 낮은 시스템 리소스 소비로 유명합니다. 2011년 6월 1일에 nginx 1.0.4가 출시되었습니다.

Nginx는 BSD와 유사한 프로토콜로 출시된 경량 웹 서버/역방향 프록시 서버 및 이메일(IMAP/POP3) 프록시 서버입니다. 그 특징은 더 적은 메모리를 차지하고 강력한 동시성 기능을 가지고 있다는 것입니다. 실제로 nginx의 동시성 기능은 동일한 유형의 웹 서버 중에서 더 나은 성능을 발휘합니다. 중국 본토의 nginx 웹사이트 사용자로는 Baidu, JD.com, Sina, NetEase 등이 있습니다. 텐센트, 타오바오 등

추천 과정: Java 튜토리얼.

tomcat

Tomcat은 Apache Software Foundation의 Jakarta 프로젝트의 핵심 프로젝트로 Apache, Sun 및 기타 회사와 개인이 공동으로 개발합니다. Sun의 참여와 지원으로 인해 최신 Servlet 및 JSP 사양이 Tomcat에 항상 반영될 수 있습니다. Tomcat 5는 최신 Servlet 2.4 및 JSP 2.0 사양을 지원합니다. Tomcat은 첨단 기술과 안정적인 성능을 갖추고 있으며 무료이기 때문에 Java 매니아들에게 깊은 사랑을 받고 있으며 일부 소프트웨어 개발자들에게도 인정을 받아 대중적인 웹 애플리케이션 서버로 자리잡고 있습니다.

Tomcat 서버는 무료 오픈 소스 웹 애플리케이션 서버로, 동시 접속 사용자가 많지 않은 중소 규모 시스템에서 널리 사용됩니다. JSP 프로그램 디버깅. 초보자의 경우 다음과 같이 생각할 수 있습니다. Apache 서버가 시스템에 구성되면 HTML(Standard Universal Markup Language 아래 애플리케이션) 페이지에 대한 액세스 요청에 응답하는 데 사용할 수 있습니다. 실제로 Tomcat은 Apache 서버의 확장이지만 실행 시 독립적으로 실행되므로 Tomcat을 실행하면 실제로는 Apache와 별도의 프로세스로 실행됩니다.

비결은 올바르게 구성되면 Apache가 HTML 페이지를 제공하고 Tomcat이 실제로 JSP 페이지와 서블릿을 실행한다는 것입니다. 또한 Tomcat은 IIS와 같은 웹 서버와 마찬가지로 HTML 페이지를 처리하는 기능도 가지고 있으며 Servlet 및 JSP 컨테이너이기도 합니다. 그러나 정적 HTML을 처리하는 Tomcat의 능력은 Apache 서버만큼 좋지 않습니다. 현재 Tomcat의 최신 버전은 9.0입니다.

nginx와 tomcat의 차이점

nginx는 외부 요청을 후속 애플리케이션 서비스로 직접 전달하기 위한 정적 콘텐츠 서비스 및 프록시 서버로 사용되는 경우가 많습니다. Tomcat은 Java 웹 앱을 실행할 수 있는 애플리케이션 컨테이너로 더 많이 사용됩니다. , 동일한 수준에 해당하는 것은 jboss, jetty 및 기타 것입니다.

그러나 확실한 것은 없습니다. nginx도 모듈 개발을 통해 애플리케이션 기능을 제공할 수 있고, tomcat도 직접 http 서비스를 제공할 수 있습니다. 일반적으로 흐름 제어와 같은 소규모 서비스가 필요하지 않은 인트라넷 및 시나리오에서 사용됩니다.

엄격히 말하면 Nginx는 "HTTP 서버"라고 불러야 하지만 Tomcat은 "애플리케이션 서버", 더 정확하게는 "Servlet/JSP" 애플리케이션(Ruby/Python 및 기타 언어로 개발됨)용 컨테이너입니다. 애플리케이션은 직접 실행할 수 없습니다. 수코양이).

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와 tomcat의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.