Nginx 시리즈 - 초기 화

4985 단어
Nginx 프로 세 스 는 주 프로 세 스 (master process) 와 여러 작업 프로 세 스 (work process) 로 나 뉘 는데 그 중에서 작업 프로 세 스 는 nginx 가 시작 할 프로 세 스 수 를 가리 키 고 있 습 니 다. 공식 에 따 르 면 보통 하 나 를 열 면 충분 합 니 다. 몇 개 를 더 열 면 기계 io 의 영향 을 줄 일 수 있 습 니 다.일반적으로 현재 기계 총 cpu 핵심 수의 1 ~ 2 배 입 니 다.예 를 들 어, 나의 기 계 는 쌍 핵 이 라면, 네 개 를 운전 하면 충분 하 다.새 버 전의 Nginx 에서 workprocesses 는 auto 로 설정 할 수 있 습 니 다.
Nginx 설치
제 환경 은 CentOS 7 이기 때문에 편 의 를 위해 yum 으로 설치 합 니 다.
yum install nginx.x86_64
#         Nginx      :
  :/etc/nginx/nginx.conf #     
     /etc/nginx/conf.d/ #     
log:/var/log/nginx/*.log
  :/var/lib/nginx/,# --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
Nginx    :/usr/share/nginx/html/

이러한 방식 은 입문 방식 에 속 합 니 다. 사실 Nginx 의 강력 한 점 은 Nginx 자체 뿐만 아니 라 많은 Module 도 있 습 니 다. yum 을 사용 하여 설치 하면 Module 을 설치 하기 어렵 기 때문에 Module 을 설치 해 야 한다 면 컴 파일 로 설치 하 십시오. 공식 문서 - 컴 파일 설치 또는 중국어 문서 아래 에 컴 파일 설치 예 를 제공 할 수 있 습 니 다.
sudo ./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=dev \
--group=developers \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--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_stub_status_module \
--with-http_auth_request_module \
--with-threads \
--with-stream \
--with-stream_ssl_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-http_v2_module \
--with-ipv6

sudo make && make install

일부 모듈 을 설치 하려 면 재 컴 파일 만 하면 됩 니 다 (-- with - xxxx) xxx 는 일부 모듈 을 표시 합 니 다. 모듈 설치 에 대해 서 는 참고 할 수 있 습 니 다.http://www.nginx.cn/doc/ 화해시키다http://www.ttlsa.com/nginx/how-to-install-nginx-third-modules/
Nginx 명령 행 인자
매개 변수
역할.
-c
Nginx 가 시작 할 프로필 을 지정 합 니 다. 기본 값: / etc / nginx / nginx. conf
-s
주 프로 세 스에 신호 보 내기: stop, quit, reopen, reload
-t
설정 파일 이 올 바른 지 테스트 만 하고 Nginx 를 실행 하지 않 습 니 다.
Nginx 제어 신호
시그 널
기능.
TERM, INT
빠 른 닫 기
QUIT
침착하게 폐쇄 하 다
HUP
설정 을 다시 불 러 옵 니 다. 새 설정 으로 새 작업 프로 세 스 를 시작 하고 오래된 작업 프로 세 스 를 여 유 롭 게 닫 습 니 다.
USR1
로그 파일 다시 열기
USR2
부 드 러 운 업그레이드 실행 가능 프로그램
WINCH
작업 프로 세 스 를 여 유 롭 게 닫 습 니 다.
eg.
ps -ef |grep nginx
kill -QUIT  nginx    

eg. 신 호 량 을 사용 하여 다시 부 드 럽 게 불 러 오기 설정 (다시 불 러 오기 전에 설정 파일 을 테스트 해 야 합 니 다)
ps -ef |grep nginx
kill -HUP  nginx    
  nginx     HUP   ,           (        ,      ,       ),    ,         (  :                )。  ,nginx                    。                             。           ,         。             ,nginx              。

eg. 새로운 바 이 너 리 코드 로 부 드 럽 게 업그레이드 (새 버 전 을 업그레이드 하거나 서버 모듈 을 추가 / 삭제 할 때)
서 비 스 를 중단 하지 않 은 상태 에서 - 새로운 요청 도 잃 어 버 리 지 않 습 니 다. 새로운 nginx 를 사용 하면 오래된 것 을 교체 할 수 있 습 니 다.
  • 우선, 새 실행 가능 한 프로그램 을 사용 하여 오래된 것 을 교체 한 다음, USR 2 (kill - USR 2 pid) 신 호 를 메 인 프로 세 스에 보 냅 니 다.주 프로 세 스 는. pid 파일 의 이름 을. oldbin (예: / usr / local / nginx / logs / nginx. pid. oldbin) 으로 바 꾸 고 새 실행 가능 한 프로그램 을 실행 하 며 새 주 프로 세 스 와 새 작업 프로 세 스
  • 를 순서대로 시작 합 니 다.
  • 이때 두 nginx 인 스 턴 스 가 동시에 실행 되 고 입력 요청 을 함께 처리 합 니 다.오래된 인 스 턴 스 를 점차 중단 하려 면 오래된 메 인 프로 세 스에 WINCH 신 호 를 보 내야 합 니 다. 그리고 작업 프로 세 스 가 여 유 롭 게 닫 힙 니 다
  • 한 동안 오래된 작업 프로 세 스 가 연 결 된 모든 요청 을 처리 한 후 종료 하면 입력 한 요청 만 새 작업 프로 세 스 로 처리 합 니 다
  • 이때 오래된 서버 가 감청 한 소켓 을 닫 지 않 았 기 때문에 아래 의 몇 단 계 를 통 해 오래된 서버 를 복원 할 수 있 습 니 다.
  • 오래된 주 프로 세 스에 HUP 신 호 를 보 냅 니 다. - 설정 파일 을 다시 불 러 오지 않 은 상태 에서 작업 프로 세 스 를 시작 합 니 다
  • QUIT 신 호 를 새로운 메 인 프로 세 스에 보 내 고 작업 프로 세 스 를 여 유 롭 게 닫 으 라 고 요구 합 니 다
  • TERM 신 호 를 새 주 프로 세 스에 보 내 서 종료 하도록 합 니 다. 어떤 이유 로 새로운 작업 프로 세 스 가 종료 되 지 않 으 면 KILL 신호
  • 를 보 냅 니 다.
  • 새로운 메 인 프로 세 스 가 종료 되면 오래된 메 인 프로 세 스 는. oldbin 접 두 사 를 제거 하고. pid 파일 로 복 구 됩 니 다. 그러면 모든 것 이 업그레이드 전 으로 복 구 됩 니 다.

  • 업그레이드 에 성공 하면 새로운 서버 만 유지 하고 싶 을 때 QUIT 신 호 를 보 내 오래된 메 인 프로 세 스에 종료 시 키 고 새로운 서버 만 남 겨 두 기
  • Nginx 시작, 정지, 재 부팅 명령
    방식 1. 상기 신 호 량 메커니즘 을 사용 하 는 방식 2. Nginx 의 - s 명령 행 매개 변수 설정 을 사용 합 니 다.
    1. stop     SIGTERM      
    2. quit     SIGQUIT      
    3. reopen   SIGUSR1          
    4. reload   SIGHUP         

    좋은 웹페이지 즐겨찾기