>운영 및 유지보수 >엔진스 >Nginx의 모듈식 아키텍처 소개

Nginx의 모듈식 아키텍처 소개

(*-*)浩
(*-*)浩원래의
2019-11-27 13:12:323070검색

Nginx의 모듈식 아키텍처 소개

Nginx의 모듈형 아키텍처

Nginx의 내부 구조는 핵심 부품과 일련의 기능 모듈로 구성됩니다. (추천 학습: nginx 사용법)

이 구분은 각 모듈의 기능을 비교적 간단하고 개발하기 쉽게 하며 시스템의 기능 확장에도 편리하도록 하기 위한 것입니다. 설명의 편의를 위해 아래에서는 Nginx 코어를 사용하여 Nginx의 핵심 기능 부분을 언급하겠습니다.

Nginx는 웹 서버의 기본 기능은 물론 웹 서비스 역방향 프록시, 이메일 서비스 역방향 프록시 기능도 제공합니다.

Nginx 코어는 기본 통신 프로토콜을 구현하고, 다른 모듈 및 Nginx 프로세스를 위한 기본 런타임 환경을 구축하고, 다른 모듈을 위한 협업 기반을 구축합니다. 또한 대부분의 프로토콜 관련 또는 애플리케이션 관련 기능이 이러한 모듈에서 구현됩니다.

모듈 개요

Nginx는 각 기능 모듈을 체인으로 구성합니다. 요청이 도착하면 요청은 처리를 위해 이 체인의 일부 또는 모든 모듈을 통과합니다. 각 모듈은 특정 기능을 구현합니다.

예를 들어 요청 압축 해제를 구현하는 모듈, SSI를 구현하는 모듈, 업스트림 서버와의 통신을 구현하는 모듈, FastCGI 서비스와의 통신을 구현하는 모듈이 있습니다.

Nginx 코어와 다양한 기능 모듈 사이에 두 개의 특수 모듈이 있습니다. 이 두 모듈은 http 모듈과 메일 모듈입니다.

이 두 모듈은 Nginx 코어 위에 또 다른 추상화 계층을 구현하고, HTTP 프로토콜 및 이메일 관련 프로토콜(SMTP/POP3/IMAP)과 관련된 이벤트를 처리하며, 이러한 이벤트가 일부 기능 모듈에서 올바른 순서로 호출될 수 있는지 확인합니다. .

현재 HTTP 프로토콜은 http 모듈에 구현되어 있지만 향후 SPDY 프로토콜을 지원하도록 Nginx를 확장하기 위해 별도의 모듈로 분리될 수 있습니다.

모듈 분류

Nginx 모듈은 기본적으로 기능에 따라 다음과 같은 유형으로 나눌 수 있습니다.

이벤트 모듈: 운영 체제와 독립적인 이벤트 처리 메커니즘을 위한 프레임워크를 구축하고 다음과 같은 처리 기능을 제공합니다. 특정 이벤트. ngx_events_module, ngx_event_core_module 및 ngx_epoll_module 등을 포함합니다. Nginx에서 사용되는 특정 이벤트 처리 모듈은 특정 운영 체제 및 컴파일 옵션에 따라 다릅니다.

단계 핸들러: 이 유형의 모듈을 핸들러 모듈이라고도 합니다. 클라이언트 정적 페이지 요청을 처리하고 응답 콘텐츠 출력을 위해 해당 디스크 파일을 준비하는 ngx_http_static_module 모듈과 같이 클라이언트 요청을 처리하고 응답할 콘텐츠를 생성하는 일을 주로 담당합니다.

출력 필터: 필터 모듈이라고도 하며 주로 출력 콘텐츠 처리를 담당하며 출력을 수정할 수 있습니다. 예를 들어, 모든 출력 HTML 페이지에 미리 정의된 풋바를 추가하거나 출력 이미지의 URL을 바꿀 수 있습니다.

upstream: upstream 모듈은 역방향 프록시 기능을 구현하고, 실제 요청을 백엔드 서버로 전달하고, 백엔드 서버의 응답을 읽고, 이를 다시 클라이언트로 보냅니다. 업스트림 모듈은 특수 핸들러이지만 응답 내용은 실제로 자체적으로 생성되지 않고 백엔드 서버에서 읽혀집니다.

로드 밸런서: 로드 밸런싱 모듈은 특정 알고리즘을 구현하고 여러 백엔드 서버 중에서 특정 요청에 대한 전달 서버로 서버를 선택합니다.

위 내용은 Nginx의 모듈식 아키텍처 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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