Nginx 의 스위스 군도 - 각종 모듈 초기 분석

3733 단어 Nginx
Nginx 는 경 량 적 이 고 효율 적 이 며 동시 다발 적 인 오픈 소스 서버 를 지원 하 며 이러한 장점 으로 인해 소프트웨어 분야 에서 광범 위 하 게 응용 된다.흔히 볼 수 있 는 사용 장면 은 역방향 프 록 시 서버, 파일 등 정적 자원 을 저장 하 는 서버 등 이 있다.
Nginx 는 2004 년 에 탄생 하여 계속 발전 하 는 과정 에서 아파 치 서버 를 대체 할 수 있 고 많은 회사 의 LAMP 구조 도 LNMP 구조 로 이전 되 었 다.Nginx 자 체 는 가 벼 운 양 으로 HTTP 서버 로 서 필요 한 코드 만 포함 되 어 있 지만 Nginx 는 컴 파일 과정 에서 컴 파일 매개 변수 에 모듈 을 추가 하여 기능 을 확장 하 는 것 을 지원 합 니 다. 이것 도 전통 적 인 Apache 서버 와 비교 할 수 있 는 이유 입 니 다.
공식 모듈 과 제3자 모듈
Nginx 컴 파일 매개 변수 에 추 가 된 모듈 은 주로 두 가지 가 있 습 니 다.
  • 유형 은 공식 적 으로 제공 하 는 확장 모듈 로 형식적 으로 --with-xxx 이다. 예 를 들 어 SSL 협의 에 가입 하면 --with-http_ssl_module
  • 을 지원 한다.
  • 다른 유형 은 제3자 가 제공 한 모듈 로 형식 상 --add-module=xxx 이다. 예 를 들 어 파일 업로드 모듈 --add-module=/nginx-upload-module-master
  • 정적 로드 와 동적 로드
    이 동시에 모듈 로 딩 방식 도 두 가지 가 있 습 니 다.
  • 정적 로드 모듈 은 위 와 같은 형식 으로 변화 가 없습니다. 이 방법 모듈 의 라 이브 러 리 는 Nginx 의 바 이 너 리 파일 에
  • 으로 컴 파일 됩 니 다.
  • 동적 로드 모듈 은 --with-http_ssl_module=dynamic 또는 --add-dynamic-module=/nginx-upload-module-master 형식 으로 불 러 옵 니 다. 이 방법 으로 불 러 온 모듈 은 기본적으로 Nginx 작업 디 렉 터 리 의 modules 디 렉 터 리 에 존재 합 니 다. 설정 파일 에서 load_module "modules/.so"; 문 구 를 통 해
  • 을 참조 합 니 다.
    동적 로 딩 은 Nginx 1.9.11 버 전에 서 도 입 된 기능 으로 설정 파일 을 통 해 어떤 모듈 을 실행 할 때 불 러 올 지 여 부 를 설정 하면 Nginx 자체 의 경 량 과 유연성 을 유지 할 수 있 습 니 다.
    Nginx 1.11.5 버 전 이후 --with-compat 지원 모듈 의 단독 컴 파일 을 통 해 동적 으로 불 러 오 는 모듈 은 컴 파일 매개 변수 에 쓰 지 않 고 설정 파일 에 loadmodule 이 좋 습 니 다. 그러면 생산 환경 에서 Nginx 의 바 이 너 리 파일 을 교체 하 는 데 발생 할 위험 을 피 할 수 있 습 니 다.
    일반 모듈 요약
    Nginx 의 모듈 라 이브 러 리 는 매우 방대 합 니 다. 여 기 는 작업 과 학습 과정 에서 접 하 는 상용 모듈 만 요약 합 니 다.
    자원 / 효율 최적화 클래스:--with-file-aio 큰 파일 을 ao 스 레 드 탱크 로 보 내 고 메모리 이용 효율 을 향상 시 킵 니 다. --with-http_slice_module 은 http 요청 을 여러 개 로 나 눌 수 있 습 니 다. 모든 요청 은 응답 내용 의 일부분 을 되 돌려 주 고 큰 파일 의 캐 시 를 효율 적 으로 --with-http_gunzip_module --with-http_gzip_static_module 에 추가 적 인 압축 기능 을 제공 합 니 다.디스크 사용량 --add-module=/nginx-sticky-module-1.1 을 줄 이면 Nginx 는 쿠키 기반 부하 균형 정책 을 지원 할 수 있 습 니 다.
    안전 보강 류:--with-http_auth_request_module 은 제3자 인증 원 을 추가 할 수 있 습 니 다. 예 를 들 어 LDAP --with-http_ssl_module --with-mail_ssl_module --with-stream_ssl_module 은 SSL 프로 토 콜 을 지원 하고 세 션 암호 화 --with-http_dav_module 을 파일 과 디 렉 터 리 지정 권한 으로 하 며 서로 다른 유형의 사용자 가 페이지 에 대해 서로 다른 조작 권한 을 가지 도록 제한 합 니 다 --with-http_secure_link_module 도 난 방지
    기능 / 도구 종류:
    이러한 모듈 이 실현 하 는 기능 도 앞 뒤 단 에서 응용 하거나 스 크 립 트 를 통 해 --with-http_addition_module --with-http_sub_module 을 실현 할 수 있 습 니 다. 해당 페이지 에 일부 내용 을 추가 하거나 교체 할 때 -with-http_realip_module 은 Nginx 서비스 전의 프 록 시 서버 를 걸 러 내 고 클 라 이언 트 의 실제 IP --with-http_degradation_module 서 비 스 를 받 을 수 있 습 니 다. 메모리 가 부족 한 상황 에서 204 또는 444 야드 로 돌아 갈 수 있 습 니 다.부하 가 균형 잡 힌 상황 에서 스케줄 링 에 근 거 를 제공 할 수 있 습 니 다 --add-module=/nginx-upload-module-master 파일 업로드 진 도 를 가 져 올 수 있 는 모듈
    프로 토 콜 / 라 이브 러 리 지원 클래스:--with-http_v2_module HTTP 프로 토 콜 v 1.2 버 전 --with-http_flv_module --with-http_mp4_module 지원 FLV (flash) 파일, mp4 파일 재생 --with-openssl-opt 지원
    # /usr/sbin/nginx -V
    nginx version: nginx/1.14.0
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
    built with OpenSSL 1.0.2k-fips  26 Jan 2017
    TLS SNI support enabled          //          HTTPS   SNI
    configure arguments: ......
    

    데이터 통계 클래스:--with-http_stub_status_module 은 nginx 의 처리 상 태 를 실시 간 으로 볼 수 있 고 zabbix 와 결합 하여 --add-module=/ngx_req_status-master 유량 대역 폭 등 요구 상태 통 계 를 모니터링 할 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기