nginx 기본 구성 및 매개변수에 대한 자세한 설명

高洛峰
풀어 주다: 2023-03-06 14:56:01
원래의
1651명이 탐색했습니다.

이 글에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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