nginx 일부 매개 변수 설정 상세 설명
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.