Nginx - 특성 소개 및 설치

Nginx - 특성 소개 및 설치
Nginx 는 무료, 오픈 소스, 성능 이 강하 고 매우 유행 하 는 서버 로 주로 세 가지 기능 이 있 습 니 다. 웹 서버, Reverse Proxy Server, IMAP or POP 3 Proxy Server 입 니 다.Nginx 는 인터넷 업계 에서 유명한 'C10K' 문 제 를 해결 하기 위해 생 겨 났 으 며 풍부 한 특성, 매우 강력 한 성능, 배치 가 간단 하고 작업 이 안정 적 이 며 자원 의 점용 이 낮 다 는 특징 으로 유명 하 다.
Nginx 의 주요 기능 은 웹 서버 로 서 httpd 서비스 와 같이 정적 인 웹 자원 을 제공 할 수 있 으 며, FastCGI / uwSGI / SCGI 등 프로 토 콜 의 역 동적 자원 요청, http / https 프로 토 콜 의 역 프 록 시, imap 4 / pop 3 프로 토 콜 의 역 프 록 시, tcp / udp 프로 토 콜 의 요청 퍼 가기 (4 층 퍼 가기) 를 결합 할 수 있 습 니 다.
Nginx 는 기능 이 풍부 한 동시에 설정 파일 의 종류 가 매우 많다.그러나 httpd 설정 파일 에 비해 Nginx 설정 파일 은 논리 적 이 고 조리 가 뚜렷 하 며 설정 방법 이 상대 적 으로 간단 합 니 다.우 리 는 다음 블 로그 에서 상세 한 소 개 를 중점적으로 할 것 이다.
[주] 본 고의 모든 예 는 CentOS 7.3 을 운영 환경 으로 한다.
Nginx 특성
Nginx 의 Master / Worker 프로그램 구조
  • master 프로 세 스:
  • 프로필 불 러 오기 및 분석, 워 커 프로 세 스 관리, 부 드 러 운 업그레이드 담당
  • 하나 이상 의 워 커 프로 세 스
  • 사용자 요청 처리 및 응답
  • 캐 시 관련 프로 세 스:
  • cache loader: 캐 시 대상 불 러 오기
    cache manager: 캐 시 대상 관리
    Nginx 특성
  • 비동기 읽 기 쓰기 (AIO) 와 비 차단 (unblock)
  • 지원
  • 이벤트 구동 지원 (Singal Driven)
  • 모듈 동적 마 운 트 해제 (DSO)
  • Nginx 모듈
    Nginx 는 고도 로 모듈 화 되 어 있 으 며 1.9 버 전 이후 지원 (부분) 모듈 동적 마 운 트 해제, 모듈 은 다음 과 같은 몇 가지 로 나 뉘 어 있 습 니 다. - 핵심 모듈 core module - 표준 모듈 standart module 1. Http modules: 웹 서비스 나 웹 을 제공 하 는 역방향 프 록 시 http 모듈 은 다음 과 같 습 니 다.
         Standard HTTP modules
    
         Optional HTTP modules
    
  • Mail modules: 메 일 관련 기능 제공
  • Stream modules: 4 층 퍼 가기 기능 제공
  • 제3자 모듈 3rd Party modele

  • 프로그램 설치 Nginx installation
    설치 방법
    Nginx 프로그램 의존 환경:
    두 표준 패키지 그룹: "Development Tools" 와 "Server Platform Development"
    프로그램 패키지 의존: pcre - devel, openssl - devel, zlib - devel
  • EPEL 공식 yum 소스 또는 Nginx 홈 페이지 에서 Nginx 패 키 지 를 가 져 오고 yum 방법 으로 설치 [추천]
  • Nginx 홈 페이지 에서 원본 코드 를 가 져 온 후 컴 파일 하여 설치
  • yum 설치
    이 방법 은 대부분의 경우 에 적용 되 며, 특별한 수요 가 있 으 면 컴 파일 로 설치 할 수 있 으 며, 설정 번호 yum 소스 후에 설치 할 수 있 습 니 다.
    컴 파일 설치
  • 소프트웨어 환경 을 준비 하고 상기 의존 패키지 와 패키지
  • 를 설치한다.
    ]# tar -xvf nginx-1.10.2.tar.gz
    ]# cd ngingx-1.10.2
  • 그룹 과 사용자 만 들 기
  • ]# groupadd -r nginx
    ]# useradd -r -g nginx nginx
  • 컴 파일 설치, 이 설정 옵션 은 EPEL 소스 의 yum 설치 nginx 옵션 을 참고 하여 실 용적 입 니 다
  • ]# ./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'
    ]# make -j 4 && make install
  • 대응 하 는 디 렉 터 리 만 들 기
  • ]# mkdir -pv /var/lib/nginx/tmp/{client_body,proxy,fastcgi,uwsgi,scgi}
  • 서비스 시작, Nginx 기본 감청 80 포트
  • ]# systemctl start nginx
    ]# ss -tnl

    좋은 웹페이지 즐겨찾기