이 글에서는 nginx의 기본 구성과 매개변수에 대해 자세히 설명합니다
user none;
#프로세스를 시작합니다. 일반적으로 CPU 수와 동일하게 설정합니다
worker_processes 1;
#전역 오류 로그 및 PID 파일
#error_log 로그/error.log;
#error_log 로그/error.log 통지;
#error_loglogs/error.log info;
#pidlogs/nginx.pid;
#Workingmode및 최대 개수 connections
events {
#epoll은 IO(I/O Multiplexing)를 다중화하는 방법입니다.
#linux2.6 이상에서만 사용됩니다. 커널, nginx의 성능을 크게 향상시킬 수 있음
epoll 사용
# 단일 백그라운드 작업자 프로세스의 최대 동시 연결 수
Worker_connections 1024;
# 총 동시 연결 수는 작업자_프로세스와 작업자_연결의 곱입니다
# 즉, max_clients = 작업자_프로세스 * 작업자_연결
# 역방향 프록시가 설정된 경우 max_clients = 작업자_프로세스 * 작업자_연결 / 4 왜
# 위의 역방향 프록시를 4로 나누어야 하는가? 경험적 값이라고 해야 할까요?
# 위의 조건에 따르면 Nginx가 연결할 수 있는 최대 연결 수는 정상적인 상황에서 서버가 처리할 수 있는 값은 다음과 같습니다: 4 * 8000 = 32000
# Worker_connections 값의 설정은 물리적 메모리 크기와 관련이 있습니다
# 동시성은 IO 제약 조건을 따르기 때문입니다 , max_clients 값은 시스템이 열 수 있는 최대 파일 수보다 작아야 합니다.
# 시스템이 열 수 있는 최대 파일 수는 일반적으로 메모리 크기에 비례합니다. 1GB 메모리를 갖춘 머신에서 열 수 있는 파일 수는 약 100,000개입니다.
# 360M 메모리를 갖춘 VPS로 열 수 있는 파일 핸들 수는 무엇인지 살펴보겠습니다.
# $ cat /proc/sys/fs/file-max
# 출력 34336
# 32000 < 총 동시 연결 수는 시스템이 열 수 있는 총 파일 핸들 수보다 적으며, 이는 운영 체제가 감당할 수 있는 범위 내에 있습니다.
# 따라서 작업자_연결의 값은 다음을 기준으로 결정되어야 합니다. Worker_processes 프로세스 수와 시스템이 열 수 있는 최대 총 파일 수를 적절하게 설정하세요.
# 총 동시 연결 수를 운영 체제가 열 수 있는 최대 파일 수보다 작게 설정하세요.
# 호스트의 물리적인 CPU와 메모리에 맞게 구성하는 것이 핵심입니다
# 물론 호스트에는 다른 작업 프로세스가 있기 때문에 이론적인 총 동시성 수는 실제 수와 다를 수 있습니다. 시스템 리소스를 소비해야 합니다.
# ulimit -SHn 65535
}
http {
# MIME 유형을 설정합니다. 유형은 mime.type 파일에 의해 정의됩니다.
include mime.types;
default_type application/octet-stream;
#로그 형식 설정
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
' $status $body_bytes_sent " $http_referer " '
'"$http_user_agent" "$http_x_forwarded_for"';
access_loglogs/access.log main;
#sendfile 지시어는 nginx가 sendfile function을 호출할지 여부를 지정합니다(copy 메소드 없음). ) 파일을 출력하려면
#일반 애플리케이션의 경우 on으로 설정해야 하며,
#다운로드 등 디스크 IO 부하가 많은 애플리케이션에 사용하는 경우, 끄기로 설정할 수 있습니다.
#디스크와 네트워크 I/O 처리 속도의 균형을 맞추려면 시스템 가동 시간을 줄이세요.
sendfile on;
#tcp_nopush on;
#연결 시간 초과
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
#g 켜기zip압축
gzip on;
gzip_disable "MSIE [1-6].";
#요청 버퍼 설정
client_head er_buffer_size 128k;
Large_client_header_buffers 4 128k;
#Settings가상 호스트구성
서버 {
#Listening 8 포트 0
#서버
루트 html의 기본 웹사이트 루트 디렉터리 위치 정의
#이 가상 호스트의 액세스 로그 설정
access_log 로그/nginx .access.log main; #기본 요청
위치 / {
#홈페이지 정의
색인이름 파일
index index.php index.html index.html; 위치 = /50x.html {
|js|css|플래시|미디어|
정적)/ {
~ , #업데이트를 자주 하시면 더 작게 설정하셔도 됩니다. 30일 만료; } #PHP 스크립트 요청은 처리를 위해 모두 FastCGI로 전달됩니다. 위치 ~ .php$ { fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $문서_root$fastcgi_script_name;
include fastcgi_para ms;
}
#.htxxx 파일에 액세스할 수 없습니다
위치 ~ /.ht {
거부 모두;
}
}
}
위 내용은 nginx 기본 구성 및 매개변수에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!