Nginx 프로필 최적화 상세 설명
nginx 를 최적화 하 는 것 은 중점 이자 난점 이다. 여기 서 자주 사용 하 는 최적화 조치 와 관련 매개 변수 가 대표 하 는 뜻 을 제시한다.일부 매개 변 수 는 회사 서버 와 결합 하여 설정 해 야 한다.
전역 변수의 최적화:
# Nginx user www www;
# , cpu
worker_processes 8;
# cpu。
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
# nginx , (ulimit -n) nginx ,
# nginx , ulimit -n 。
worker_rlimit_nofile 102400;
# PID
error_log /usr/local/nginx/logs/error.log;
# ,[ debug | info | notice | warn | error | crit ] 。
# pid
pid /usr/local/nginx/nginx.pid;
events {
use epoll;
#epoll IO(I/O Multiplexing) , nginx 。
worker_connections 10240;
# worker process ( = * )
multi_accept on;
# .
}
# http ,
http {
# mime , mime.type
include mime.types;
# MIME ;default_type application/octet-stream;
#
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$request_time"';
#
access_log /usr/local/nginx/log/nginx/access.log;
sendfile on;
#sendfile nginx sendfile (zero copy ) , on
# IO , off, I/O , uptime。
#autoindex on;
# , , 。
tcp_nopush on;
# , sendfile 。
keepalive_timeout 120;
#keepalive , , ,
#keepalive-timeout 。( 、CPU、 、 )
tcp_nodelay on;
# , ( upstream )
# gzip
gzip on;
# 。
gzip_min_length 1k;
# gzip 。
#4 16k 16k , 16k 4 。
gzip_buffers 4 16k;
# http 。 。
gzip_http_version 1.1;
# , 9, , ,CPU 。
# , CPU 。
gzip_comp_level 6;
# 。
gzip_types text/plain application/x-javascript text/css application/xml;
# http “Vary: Accept-Encoding”, , ,
# , HTTP ,
gzip_vary on;
# IE6 , IE6 。
#gzip_disable "MSIE [1-6]."
client_max_body_size 10m;
#
client_body_buffer_size 128k;
# .
proxy_connect_timeout 90;
#nginx ( )
proxy_send_timeout 90;
# ( )
proxy_read_timeout 90;
# , ( )
proxy_buffer_size 4k;
# (nginx)
proxy_buffers 4 32k;
#proxy_buffers , 32k ,
proxy_busy_buffers_size 64k;
# (proxy_buffers*2)
large_client_header_buffers 4 4k;
# number( ) size( )。
#HTTP , nginx 414 (Request-URI Too Large) 。
# , nginx 400 (Bad Request) 。
client_header_buffer_size 4k;
# , , 1k
# 1k, 。 getconf PAGESIZE 。
open_file_cache max=102400 inactive=20s;
# , ,max , ,inactive 。
open_file_cache_valid 30s;
# 。open_file_cache_min_uses 1;
#open_file_cache inactive , , , , inactive
# ,
include vhosts.conf;
가상 호스트 프로필 최적화
upstream backend {
# 。 30
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;
server 127.0.0.1:8082 weight=1 max_fails=2 fail_timeout=30s;
server 127.0.0.1:8083 weight=1 max_fails=2 fail_timeout=30s;
}
#
server { # 80
listen 80; # www.abc.com
server_name www.abc.com; #
access_log logs/access.log main;
root /data/webapps/www; #
index index.php index.html index.htm; #
#
location ~ /{
root /data/webapps/www; #
index index.php index.html index.htm; #
# .
proxy_next_upstream http_502 http_504 error timeout invalid_header;
# 502、504、 , upstream , 。
proxy_redirect off;
#
proxy_set_header Host $host;
# IP X-Real-IP, NginxBackend $http_x_real_ip IP
# Nginx Backend “$remote_addr” IP;
proxy_set_header X-Real-IP $remote_addr;
# X-Forwarded-For $remote_addr ,
# X-Forwarded-For $proxy_add_x_forwarded_for $remote_addr。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# HTTP 。 1.0
proxy_http_version 1.1;
proxy_set_header Connection "";
# 。
client_max_body_size 100m;
# , 。
proxy_pass http://backend;
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} # Nginx , Nginx 。
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
root /data/webapps/www;
#expires 3 , , , , 。
expires 3d;
}
#PHP FastCGI . FastCGI .
location ~ \.php$ {
root /root;
FastCGI_pass 127.0.0.1:9000;
FastCGI_index index.php;
FastCGI_param SCRIPT_FILENAME /data/webapps/www$FastCGI_script_name;
include FastCGI_params;
}
# Nginx
location /NginxStatus {
stub_status on;
}
}
}
주로 열 린 스 레 드 수량, CPU 바 인 딩, 압축 시작, 프 록 시가 있 으 면 백 엔 드 서버 의 상호작용 시간 등 최적화 와 관련된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
거품 정렬 최적화 알고리즘 (자바)기본 적 이 고 질서 있 는 데이터 에 대해 최 적 화 된 거품 정렬 을 사용 하 는 것 이 가장 좋 은 선택 이다. 그 는 데이터 가 질서 가 있 는 것 을 발견 한 후에 정렬 을 끝 낼 것 이다. 코드 는 다음 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.