nginx 메 인 프로필 상세 및 최적화
7360 단어 nginx.confnginx 최적화nginx 주 프로필
1)worker_processes 8;
nginx 프로 세 스 수 는 cpu 수 에 따라 지정 하 는 것 을 권장 합 니 다. 일반적으로 배수 입 니 다.
2)worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
프로 세 스 마다 cpu 를 할당 합 니 다. 8 개의 프로 세 스 를 8 개의 cpu 에 할당 합 니 다. 물론 여러 개 를 쓰 거나 하나의 프로 세 스 를 여러 cpu 에 할당 할 수 있 습 니 다.
3)worker_rlimit_nofile 102400;
이 명령 은 nginx 프로 세 스 가 열 린 가장 많은 파일 설명자 수 를 말 합 니 다. 이론 적 값 은 최대 열 린 파일 수 (ulimit - n) 와 nginx 프로 세 스 수 를 제외 해 야 합 니 다. 그러나 nginx 배분 요청 이 고 르 지 않 기 때문에 ulimit - n 의 값 과 일치 하 는 것 이 좋 습 니 다.
4)use epoll;
epoll 의 I / O 모델 사용 하기
5)worker_connections 102400;
모든 프로 세 스 가 허용 하 는 최대 연결 수, 이론 적 으로 모든 nginx 서버 의 최대 연결 수 는 worker 입 니 다.processes*worker_connections。
6)keepalive_timeout 60;
keepalive 시간 초과.
7)client_header_buffer_size 32k;
클 라 이언 트 가 머리 에 있 는 버퍼 크기 를 요청 합 니 다. 이것 은 시스템 페이지 크기 에 따라 설정 할 수 있 습 니 다. 보통 요청 한 머리 크기 는 1k 를 초과 하지 않 지만 일반 시스템 페이지 는 1k 이상 이 어야 하기 때문에 페이지 크기 로 설정 합 니 다.페이지 크기 는 명령 getconf PAGESIZE 로 가 져 올 수 있 습 니 다.
8)open_file_cache max=102400 inactive=20s;
이것 은 파일 을 열기 위 한 캐 시 를 지정 합 니 다. 기본 값 은 사용 되 지 않 았 습 니 다. max 는 캐 시 수량 을 지정 합 니 다. 파일 을 여 는 것 과 일치 하 는 것 을 권장 합 니 다. inactive 는 얼마 동안 파일 이 요청 되 지 않 은 후 * * 캐 시 를 말 합 니 다.
9)open_file_cache_valid 30s;
이것 은 캐 시 를 얼마나 자주 검사 하 는 지 에 대한 유효한 정 보 를 말한다.
10)open_file_cache_min_uses 1;
open_file_cache 명령 의 inactive 매개 변 수 는 시간 내 에 파일 의 최소 사용 횟수 입 니 다. 이 숫자 를 초과 하면 파일 설명 자 는 캐 시 에서 열 려 있 습 니 다. 예 를 들 어 inactive 시간 내 에 한 번 도 사용 되 지 않 으 면 삭 제 됩 니 다.
11)gzip_types
gzip 를 사용 하여 정적 파일 을 압축 하여 네트워크 대역 폭 을 줄 이 고 전송 속 도 를 증가 합 니 다.
2. 프로필 상세 설명:
#user www www;
# cpu , nginx , server cpu ( cpu ) 2 。 , I/O 。
worker_processes 8;
pid logs/nginx.pid;
error_log logs/error.log;
# worker_process , , , 502
worker_rlimit_nofile 10240;
# , , nginx
events {
#linux 2.6 , epoll , select 。 :
1, fd 2, , socket " " , select/poll ( ), 。 epoll , " " socket --- epoll fd callback , fd , 。 , " " socket callback , idle socket 。
use epoll;
# worker_process
worker_connections 10240;
}
http {
#mime.types web MIME , , 。MIME TYPE 。
include mime.types;
# MIME , nginx MIME , “ ”
default_type application/octet-stream;
# log , nginx 。 log , log , 。
log_format main '"$time_local","$remote_addr","$http_x_forwarded_for","$http_host","$request","$http_referer","$http_user_agent","$upstream_http_x_s_m","$cookiesize","$http_x_sohupassport_userid","$status","$cookie__smuid","$request_time","$body_bytes_sent","$upstream_addr","$upstream_status","$upstream_response_time","$http_accept","$http_q_ua","m-nginx-94"';
log_format hz_main '"[$time_local]","$remote_addr","$http_x_forwarded_for","$http_x_sohupassport_userid","$request","$request_length","$request_time","$body_bytes_sent","$status","$http_referer","$http_user_agent","$uid","$fr","$upstream_addr","$upstream_status","$upstream_response_time","m-nginx-94"';
########## : nginx tcp_cork, , send_file , , tcp_close tcp_shutdown( linger_timeout) , ( keepalived 0) , buf , , tcp_cork, , 。
# sendfile() 。sendfile() . , " ".sendfile read write , read write .
sendfile on;
# FreeBSD TCP_NOPUSH, Linux TCP_CORK , sendfile 。
tcp_nopush on;
# , , , IO , 。 , , , web , , nginx 。
tcp_nodelay on;
# , , nginx 。 0 , 。
keepalive_timeout 0;
# gzip , , , 。
gzip on;
# 。 1024 , 1K
gzip_min_length 1000;
# gzip 。 : 16K 4 。 , gzip 。
gzip_buffers 4 16k;
#
gzip_types text/* text/css text/vnd.wap.wml application/javascript application/x-javascript
application/xml application/xhtml application/xhtml+xml application/wml application/action;
# , 1-9, ,
gzip_comp_level 9;
#nginx , headers ,
gzip_proxied any;
# http , 1.1 , http gzip
gzip_http_version 1.1;
# IE1-6 gzip ,
gzip_disable "MSIE [1-6].(?!.*SV1)";
#gzip_vary http “Vary: Accept-Encoding”, , Vary 。
gzip_vary on;
# nginx , 。 : 32K 4 。
output_buffers 4 32k;
# nginx 1460 , ,
postpone_output 1460;
# ( server_name ) , server_name 。 , (32) , key , 。
server_names_hash_bucket_size 128;
# Header , 1kb
client_header_buffer_size 32k;
# nginx , Header Content-Lenth 。 ,nginx “Request Entity Too Large” (HTTP 413 )
client_max_body_size 8m;
# Header , 4K。 , Header , "Request URI too large"(414) “Bad request”(400) 。 Cookie ,
large_client_header_buffers 4 256k;
# nginx Header , ,nginx "Requet time out" (HTTP 408 )
client_header_timeout 1m;
# nginx , ,nginx "Request time out" (HTTP 408)
client_body_timeout 1m;
# 。 tcp , established 。 , ,Nginx
send_timeout 1m;
# nginx HTTP 400 。on ,nginx error_page , error_page , 。
proxy_intercept_errors on;
secret /opt/apps/wcms2_0/conf/secret.key;
# , , :"include extra/*.conf"
include extra/upstreamA.conf;
include extra/upstreamOther.conf;
include extra/upstreamTest.conf;
include extra/m.sohu.com.conf;
include extra/ucweb.m.sohu.com.conf;
include extra/a.m.sohu.com.conf;
include extra/b.m.sohu.com.conf;
include server-status.conf;
include extra/uc.m.sohu.com.conf;
include extra/hz.m.sohu.com.conf;
include extra/2012.m.sohu.com.conf;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
내 눈의 nginx#nginx , CPU 。 # nginx , ( ulimit -n) nginx , nginx , ulimit -n 。 # ,use [ kqueue | rtsig | epoll | /dev/poll | select |...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.