nginx 일부 매개 변수 설정 상세 설명

8274 단어 nginx매개 변수
nginx 설정:   정상적으로 실행 되 는 필수 설정:      1、user username [groupname];           워 커 프로 세 스 를 실행 할 사용자 와 그룹 을 지정 합 니 다.      2、pid /path/to/pidfile_name
          nginx pid 파일
      3、worker_rlimit_nofile #;            워 커 프로 세 스 가 열 수 있 는 최대 파일 핸들 수;      4、worker_rlimit_sigpending #;            모든 사용자 가 워 커 프로 세 스 로 보 낼 수 있 는 신호 의 수 를 설정 합 니 다.
  성능 관련 설정 최적화:       1、worker_processes #;                worker 프로 세 스 의 개수;보통 CPU 의 물리 적 핵심 수 를 1 로 줄 여야 합 니 다.       2、worker_cpu_affinity cpumask ...; 모든 워 커 프로 세 스 가 사용 하 는 cpu 핵심 개 수 를 설정 하 는 데 사용 합 니 다.
            다음 사례 설정 에서 보 듯 이 8 핵 CPU, 그 중 6 개의 핵심 배분 (방 정) worker 프로 세 스, 8 개의 0 은 8 핵 CPU 를 대표 하고 해당 비트 의 수 치 는 1 입 니 다.               worker_processes 6;                worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000;        3、ssl_engine device;                ssl 하드웨어 가속기 의 서버, 사용 하 는 ssl 하드웨어 가속 장 치 를 지정 합 니 다.       4、timer_resolution interval;시간 분석 간격
               기본 적 인 상황 에서 커 널 이 벤트 를 받 을 때마다 nginx 가 호출 됩 니 다 gettimeofday().이 명령 을 사용 하면 nginx 는 지정 한 interval 시간 간격 을 거 칠 때마다 한 번 gettimeofday() 만 호출 합 니 다.nginx 가 발생 gettimeofday() 시스템 호출 횟수 를 줄 이 는 것 으로 이해 할 수 있 습 니 다. 물론 작업 과정 에서 도 타이머 의 정 도 를 낮 출 수 있 습 니 다.
       5、worker_priority nice; 우선 순위               -20, 19 사이 의 값;               nginx 프로 세 스 작업 우선 순위              주: 1, 2, 5 는 최적화 의 관건 이다.   이벤트 관련 설정:       1、accept_mutex [on|off]                Ningx 의 부하 균형 잠 금 을 열 지 여부;이 자 물 쇠 는 여러 워 커 를 돌아 가면 서 새로운 클 라 이언 트 와 연결 할 수 있 습 니 다.보통 워 커 프로 세 스 의 부하 가 상한 선 7 / 8 에 이 르 면 master 는 가능 한 한 이 워 커 를 예약 하지 않 습 니 다.       2、lock_file /path/to/lock_file;                파일 잠 금       3、accept_mutex_delay #ms;                accept 잠 금 모드 에서 하나의 worker 프로 세 스 가 accept 잠 금 을 얻 기 위 한 대기 시간 입 니 다.한 워 커 프로 세 스 가 잠 금 을 가 져 오 려 고 시도 할 때 실 패 했 을 경우, 적어도 \ # ms 를 기 다 려 야 다시 잠 금 을 요청 할 수 있 습 니 다.       4、multi_accept on|off;                여러 사용자 의 요청 에 한꺼번에 응답 할 수 있 는 지 여부;기본 값 은 꺼 짐;       5、use [epoll|rtsig|select|poll];[뒤에 자세 한 설명 이 있 습 니 다.]               사용 하 는 이벤트 모델 을 정의 합 니 다. nginx 가 자동 으로 선택 하 는 것 을 권장 합 니 다.       6、worker_connections #;                모든 워 커 는 최대 요청 수 에 동시 응답 할 수 있 습 니 다. 디 버 깅, 포 지 셔 닝 문제: nginx 만 디 버 깅 할 때 사용       1、daemon on|off;                닝 x 를 배경 으로 실행 할 지 여부;기본 값 은 on 입 니 다. 디 버 깅 할 때 off 로 설정 하여 모든 정 보 를 콘 솔 에 직접 출력 할 수 있 습 니 다.       2、master_process on|off                master / worker 모드 로 nginx 를 실행 할 지 여부;기본 값 은 on;디 버 깅 시 추적 하기 편리 하도록 off 를 설정 할 수 있 습 니 다.       3、error_log /path/to/error_log level;                오류 로그 파일 및 단계;기본 값 은 error 단계 입 니 다.디 버 깅 시 debug 단 계 를 사용 할 수 있 지만 컴 파일 할 때 -- with - debug 를 사용 하여 debug 기능 을 사용 해 야 합 니 다.
                            연결 처리 방법 참조:http://tengine.taobao.org/nginx_docs / cn / docs / events. html \ # rtsignginx 는 다양한 연결 처리 방법 을 지원 하고 어떤 처리 방법 을 사용 할 수 있 는 지 는 사용 하 는 플랫폼 에 달 려 있 습 니 다.만약 플랫폼 이 여러 가지 방법 을 지원 한다 면 nginx 는 일반적으로 가장 효율 적 인 방법 을 자동 으로 선택 할 것 이다.필요 하 다 면, use 명령 을 사용 하여 연결 처리 방법 을 명확 하 게 지정 할 수도 있다.nginx 는 다음 연결 처리 방법 을 지원 합 니 다.select - 표준 방법.플랫폼 이 더 효율 적 인 방법 을 지원 하지 않 을 때 nginx 는 이 모듈 을 자동 으로 컴 파일 합 니 다.--with-select_module--without-select_module 컴 파일 옵션 을 사용 하여 이 모듈 을 강제로 열 거나 컴 파일 하지 못 하 게 할 수 있 습 니 다. poll - 표준 모듈.플랫폼 이 더 효율 적 인 방법 을 지원 하지 않 을 때 nginx 는 이 모듈 을 자동 으로 컴 파일 합 니 다.--with-poll_module--without-poll_module 컴 파일 옵션 을 사용 하여 이 모듈 을 강제로 열 거나 컴 파일 하지 못 하 게 할 수 있 습 니 다. kqueue - FreeBSD 4.1 +, OpenBSD 2.9 +, NetBSD 2.0 과 Mac OS X 의 효율 적 인 방법. epoll - Linux 2.6 + 의 효율 적 인 방법.
일부 오래된 발행 판, 예 를 들 어 SuSE 8.2 는 패 치 를 제공 하고 2.4 커 널 에 epoll 방법 을 지원 했다.
rtsig - 실시 간 신호, Linux 2.2.19 + 의 효율 적 인 방법.시스템 급 이벤트 대기 열 은 기본적으로 1024 개의 신호 제한 이 있 습 니 다.고부 하 서버 에서 이 제한 을 상 향 조정 하 는 것 은 필수 적일 수 있다.조정 방법 은 커 널 매개 변수의 값 을 바 꾸 는 것 이다.Linux 2.6.6 - mm2 에 서 는 이 인자 가 존재 하지 않 으 며, 프로 세 스 마다 이벤트 대기 열 을 가지 고 있 습 니 다.각 대기 열의 길 이 는 /proc/sys/kernel/rtsig-max 로 제한 되 어 있 으 며, worker 를 사용 할 수 있 습 니 다.rlimit_sigpending 명령 수정.대기 열 이 넘 칠 때 nginx 는 이 대기 열 을 버 리 고 RLIMIT_SIGPENDING 연결 처리 방법 으로 되 돌아 갑 니 다. poll - Solaris 7 11 / 99 +, HP / UX 11.22 + (eventport), IRIX 6.5.15 + 와 Tru 64 UNIX 5.1A + 의 효율 적 인 방법. /dev/poll - 이벤트 포트, Solaris 10 의 효율 적 인 방법.
                                                                       cfsego
가상 호스트 설정 (Server):       1、server {}        가상 호스트 를 정의 합 니 다. nginx 는 호스트 이름 이나 IP 기반 가상 호스트 를 사용 하 는 것 을 지원 합 니 다.   2、listen         listen address[:port];         listen port         default_server: 이 server 를 http 의 기본 server 로 정의 합 니 다.모든 server 에 listen 이 매개 변 수 를 사용 하지 않 는 다 면 첫 번 째 server 는 기본 server 입 니 다.        rcvbuf = SIZE: 수신 버퍼 크기;        sndbuf = SIZE: 전송 버퍼 크기;        ssl: https server;     3、server_name [...];        server_name 은 여러 호스트 이름과 함께 사용 할 수 있 습 니 다. 이름 에 마스크 와 정규 표현 식 을 사용 할 수 있 습 니 다 (보통 ~ 로 시작 합 니 다).nginx 가 요청 을 받 았 을 때 첫 번 째 server 의 값 을 꺼 내 고 여러 servername 비교 하기;비교 방법:       (1) 먼저 정확 한 매 칭 을 한다.www.mytest.com        (2) 왼쪽 어댑터 가 일치 합 니 다. *.mytest.com        (3) 오른쪽 어댑터 가 일치 합 니 다.www.mytest.com, www.*        (4) 정규 표현 식 일치: ~ ^. * \. mytest \ \. com $    4、server_name_hash_bucket_size 32|64|128;                빠 른 호스트 찾기 를 위해 nginx 는 호스트 이름 을 hash 표 로 저장 합 니 다.    5、location [ = | ~ | ~* | ^~ ] uri { ... }         location @name { ... }          기능: 사용자 가 요청 한 URI 에 따라 지정 한 location 에 맞 게 접근 설정 을 할 수 있 습 니 다.일치 하면 location 블록 에 있 는 설정 에 의 해 처 리 됩 니 다.예 를 들 면:http://www.mytest.com/p_w_picpaths/logo.gif          =:정확 한 일치;         ~:정규 표현 식 패턴 이 일치 하고 일치 할 때 문자 대소 문 자 를 구분 합 니 다.         ~*:정규 표현 식 모드 가 일치 합 니 다. 일치 할 때 문자 대소 문 자 를 무시 합 니 다.         ^~: URI 앞부분 일치, 정규 표현 식 검사 하지 않 음
사례 는 다음 과 같다. 고객 이 요청 한 URI 및 해당 하 는 일치 결과
        location = / {
        [ configuration A ]
    }
        location / {
        [ configuration B ]
    }
        location /documents/ {
        [ configuration C ]
    }
        location ^~ /p_w_picpaths/ {
        [ configuration D ]
    }
        location ~* \.(gif|jpg|jpeg)$ { 
        [ configuration E ] 
    } 

      http://www.mytest.com/index.html(일치 하 는 B)      http://www.mytest.com/(일치 하 는 A)      http://www.mytest.com/documents/index.html(B 및 C 와 일치 하지만 C 와 일치 합 니 다)      http://www.mytest.com/p_w_picpaths / index. html (B 및 D 와 일치 하지만 최종 적 으로 D 와 일치 합 니 다)               
      http://www.mytest.com/p_w_picpaths/a.png   (B 및 D 와 일치 하지만 D 와 일치 합 니 다)
      http://www.mytest.com/p_w_picpaths/a.gif    (B 및 D 와 일치 하지만 E 와 일치 합 니 다)         
  일치 하 는 우선 순위:      (1) 글자 의 양 이 가장 정확하게 일치 합 니 다.
      (2) 정규 표현 식 검색 (첫 번 째 일치 에서 처리)
      (3) 문자 크기 의 파일 경로 에 따라 정의 합 니 다.  1、root path     웹 자원 경로 설정 하기;요청 한 루트 문서 디 렉 터 리 지정 하기;       location / {            root /www/htdocs;          }        location ^~ /p_w_picpaths/ {             root /web;  #디 렉 터 리 / web / p w picpaths / a. html 에 해당 합 니 다.         }
   #a. html 경로 / 웹 / imgages 에서 접근 할 때http://www.mytest.com/p_w_picpaths/a.html
   2、alias path      location 에서 만 사용 할 수 있 고 경로 별명 에 만 사용 할 수 있 습 니 다.    location / {       root /www/htdocs;     }     location ^~ /p_w_picpaths/ {       alias / web; \ # 디 렉 터 리 는 / p w picpaths / a. html 에 해당 합 니 다.
     }     #a. html 경로 / 웹 에서 접근 할 때http://www.mytest.com/p_w_picpaths/a.html
    3、index file ...;                기본 홈 페이지 를 정의 합 니 다. 여러 값 을 사용 할 수 있 습 니 다.    4、error_page code ... [=[response]] uri;          어떤 요청 이 오 류 를 되 돌 릴 때 error page 명령 에 설 정 된 code 와 일치 하면 새로운 URI 로 다시 설정 합 니 다.
           error_page 404 /404.html
           error page 404 = 200 / 404. html \ # 시스템 로그 에 200 오류 가 표 시 됩 니 다 (즉 사용자 정의 반환 값)
    5、try_files path1 [path2 ...] uri;           왼쪽 에서 오른쪽으로 path 가 지정 한 경 로 를 읽 으 려 고 시도 합 니 다. 첫 번 째 로 찾 으 면 멈 추고 돌아 갑 니 다. 모든 path 가 존재 하지 않 으 면 마지막 uri 로 돌아 갑 니 다.          location ~* ^/documents/(.*)$ {              root /www/htdocs;              try_files $uri /docu/$1 /temp.html;             }      
            http://www.mytest.com/documents/a.html             http://www.mytest.com/docu/a.html             http://www.mytest.com/temp.html

좋은 웹페이지 즐겨찾기