> 백엔드 개발 > PHP 튜토리얼 > nginx 구성 및 매개변수에 대한 간략한 소개

nginx 구성 및 매개변수에 대한 간략한 소개

巴扎黑
풀어 주다: 2023-03-15 09:44:02
원래의
1537명이 탐색했습니다.


요약: nginx 기본 구성 및 매개변수 설명

#사용자
user none;
#프로세스를 시작합니다. 일반적으로 CPU 수와 동일하게 설정됩니다.
worker_processes 1;

#전역 오류 로그 및 PID 파일
#error_loglogs/error.log;
#error_loglogs/error.log 통지;
#error_loglogs/error.log info;

#pidlogs/nginx.pid;

#작업 모드 및 최대 수 ofconnections
events {
#epoll은 IO(I/O Multiplexing)를 다중화하는 방법입니다.
#은 linux2.6 이상의 커널에만 사용되므로 nginx의 성능을 크게 향상시킬 수 있습니다.
epoll을 사용하세요.

#Single 백그라운드 작업자 프로세스 프로세스의 최대 동시 연결 수
worker_connections 1024;

# 총 동시 연결 수는 작업자_프로세스와 작업자_연결의 곱입니다
# 즉, max_clients = 작업자_프로세스 * 작업자_연결
# 역방향 프록시가 설정된 경우 up, max_clients = Worker_processes * Worker_connections / 4 Why
# 왜 위 역방향 프록시를 4로 나누어야 할까요? 이는 경험적 값이라고 해야 할까요
# 위의 조건에 따르면 Nginx Server가 처리할 수 있는 최대 연결 수는 다음과 같습니다. 일반적인 상황에서는 다음과 같습니다: 4 * 8000 = 32000
# Worker_connections 값 설정은 물리 메모리 크기와 관련이 있습니다
# 동시성은 IO 제약 조건을 따르기 때문에 max_clients 값은 시스템이 허용하는 최대 파일 수보다 작아야 합니다. can open
# 시스템이 열 수 있는 최대 파일 수는 메모리 크기에 비례합니다. 일반적으로 1GB 메모리를 갖춘 컴퓨터에서 열 수 있는 파일 수는 약 100,000개입니다
# 개수를 살펴보겠습니다. 360M 메모리를 가진 VPS가 열 수 있는 파일 핸들 수:
# $ cat /proc/sys/fs/file-max
# 출력 34336
# 32000 < 34336, 즉 총 동시 연결 수가 전체보다 적습니다. 시스템이 열 수 있는 파일 핸들의 개수는 운영 체제가 감당할 수 있는 범위 내입니다
# 따라서 작업자_프로세스 프로세스의 개수와 프로세스가 처리할 수 있는 최대 총 파일 개수에 따라 Worker_connections의 값을 적절하게 설정해야 합니다. system can open
# 총 동시성 개수를 운영체제가 열 수 있는 최대 파일 개수보다 작게 만드세요
# 호스트의 물리적인 CPU와 메모리에 맞게 구성하는 것이 핵심입니다
# 물론 이론적인 총계는 호스트에는 다른 작업자 프로세스가 시스템 리소스를 소비하기 때문에 동시성 수가 실제 수와 다를 수 있습니다.
# ulimit -SHn 65535

}

http {
#Mime 유형을 설정합니다. 유형은 mime.type 파일에 의해 정의됩니다.
include mime.types;
default_type application/octet-stream;
#로그 형식 설정
log_format 메인 '$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 함수(제로 복사 모드)를 호출하는지 여부를 지정합니다.
#일반 응용 프로그램의 경우 on으로 설정해야 하며,
#사용하는 경우 다운로드 및 기타 응용 프로그램 디스크 IO 부하가 높은 응용 프로그램은
# 디스크 및 네트워크 I/O 처리 속도의 균형을 맞추고 시스템 가동 시간을 줄이기 위해 설정할 수 있습니다.
#tcp_nopush on; ;
keepalive_timeout 65;

tcp_nodelay on;


#gzip 압축 켜기
gzip on;
gzip_disable "MSIE [1-6].";

#요청 버퍼 설정
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;

# 가상 호스트 구성 설정
서버 {
#포트 80에서 듣기

80 듣기;

#www.nginx.cn을 사용하여
server_name에 액세스하도록 정의 www.nginx.cn;

#서버의 기본 웹 사이트 루트 디렉토리 위치 정의
root html;

#이 가상 호스트의 액세스 로그 설정

access_loglogs/nginx.access.log main;

#Default request

location / {

#홈페이지 인덱스 파일 이름 정의

index index.php index.html index.htm;

}


# 오류 페이지 정의

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}


#정적 파일, nginx가 자체적으로 처리
location ~ ^/(이미지|javascript| js|css|플래시|미디어|정적)/ {

#만료일은 30일입니다. 정적 파일은 거의 업데이트되지 않습니다.
#자주 업데이트하는 경우 더 작은 값으로 설정할 수 있습니다. 3Expires 30d;

#PHP 스크립트 요청은 모두 FastCGI로 전달되어 .

location ~ .php $ {

Fastcgi_pass 127.0.0.0.1:9000 ;
FastCI_INDEX Index.php; f ASTCGI_PARAM SCRIPT_FILENAME $ DOCUMENT_ROOT $ fastcgi_script_name;
include fastcgi_params;
}

#.htxxx 파일
location에 대한 액세스 권한 없음 ~ /.ht {

모두 거부;

}

}
}


위 내용은 nginx 구성 및 매개변수에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿