Nginx 작업자 프로세스 및 연결
Multi-Core 성능을 최대한 활용하기 위해 Worker_Processes (즉, CPU 코어 수)로 설정하십시오. 2. 시스템 파일 디스크립터 제한에 따라 Worker_Connection (예 : 1024 이상)을 설정하고 Ulimit -N이 충분히 커질 수 있도록 트래픽이 예상됩니다. 3. 동시 연결의 최대 수 = worker_processes × worker_connections, 합리적인 구성은 수천 개의 연결을 지원하고, 병목 현상을 피하고, Nginx 생산 환경의 성능을 향상시킬 수 있습니다.
생산 사용을 위해 nginx를 설정할 때, 두 가지 주요 지침 ( worker_processes
and worker_connections
은 성능, 확장 성 및 Nginx가 트래픽을 효율적으로 처리하는 방법에 영향을 미칩니다. 알아야 할 사항은 다음과 같습니다.

worker_processes
및 worker_connections
는 무엇입니까?
worker_processes
:
이것은 Nginx에게 얼마나 많은 근로자 프로세스를 실행 해야하는지 알려줍니다. 각 프로세스는 요청을 독립적으로 처리하는 별도의 인스턴스입니다 (여러 CPU 코어 활용).-
worker_connections
:
이는 각 작업자 프로세스가 처리 할 수있는 최대 동시 연결 수를 설정합니다.
함께 Nginx의 총 연결 용량을 정의합니다.
Max Clients = Worker_Processes × Worker_Connections
? worker_processes
설정하는 방법
모범 사례 :
이것을 서버의 CPU 코어 수와 동일하게 설정하십시오.

자동 감지 (권장) :
Worker_Processes Auto;
Nginx는 사용 가능한 CPU 코어의 수와 자동으로 일치합니다.
매뉴얼 (필요한 경우) :
Worker_Processes 4; # 4 코어 CPU의 경우
? CPU 코어 이상이 아닌 이유는 무엇입니까?
추가 프로세스는 성능을 향상시키지 않으며 컨텍스트 전환으로 인해 오버 헤드를 유발할 수 있습니다.
? worker_connections
설정하는 방법
이것은 예상 트래픽 및 시스템 제한에 따라 다릅니다.
예:
이벤트 { Worker_Connections 1024; }
시스템 제한 사항을 먼저 확인합니다 : 실행 :
ulimit -n
이것이
worker_connections × worker_processes
보다 적 으면 오류가 발생합니다.
일시적으로 늘리려면 :Ulimit -N 4096
또한 지속성을 위해
/etc/security/limits.conf
업데이트 :* 소프트 nofile 65536 * 하드 nofile 65536
⚠️ 각 연결 (클라이언트 → nginx)은 하나의 파일 디스크립터를 사용합니다. 업스트림 서버로 프록시하는 경우 백엔드에 대한 각 연결도 계산하므로 클라이언트 연결 이상의 것을 계획하십시오.
? 실제 예
당신이 가지고 있다고 말하십시오 :
- 4 CPU 코어
- 각 작업자는 1024 개의 연결을 처리합니다
그 다음에:
최대 동시 연결 = 4 × 1024 = 4096
그것은 최대화 트래픽에 충분합니다. 교통량이 많은 현장의 경우 확장하십시오.
Worker_Processes Auto; 이벤트 { Worker_Connections 4096; }
→ CPU 수에 따라 ~ 8k – 16k 연결을 지원합니다.
✅ 빠른 팁
- 다시로드하기 전에 항상
nginx -t
로 테스트하십시오. - 근로자가 활용되지 않았거나 최대화되어 있는지 확인하기 위해
htop
또는top
으로 모니터링하십시오. -
ab
또는wrk
사용하여 하중을 시뮬레이션하고 한도를 확인하십시오. -
keepalive_timeout
조정하고 업스트림에 대한keepalive
활성화하여 연결 휘선을 줄이는 것을 잊지 마십시오.
기본적으로 worker_processes auto
를 설정하고 트래픽 및 시스템 제한에 따라 worker_connections
조정하고 모니터링하십시오. 복잡하지는 않지만 올바르게 얻는 것은 병목 현상을 일찍 피합니다.
위 내용은 Nginx 작업자 프로세스 및 연결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

HSTS를 활성화하는 방법은 HTTPS 웹 사이트에서 Strict-Transport-Security 응답 헤더를 구성하는 것입니다. 특정 작업은 다음과 같습니다. 1.nginx 서버 블록에 Add_header 지시문을 추가합니다. 2. Apache는 구성 파일 또는 .htaccess에 헤더 지시문을 추가합니다. 3.iis는 web.config에 커스텀 헤더를 추가합니다. 이 사이트가 HTTPS를 완전히 지원하고 매개 변수에는 최대 연령 (유효 기간), 포함 뷰 도메인 (하위 도메인이 효과적), 예비 목록 (예압 목록) 및 Prereload가 HSTSpreload 목록에 제출하기위한 전제 조건입니다.

Nginx의 SSL/TLS 서비스를 구성하려면 인증서와 개인 키를 준비하고 ServerBlock에서 관련 매개 변수를 설정해야합니다. 1. 인증서 파일 준비 : .crt 또는 .pem 형식 및 해당 .key 개인 키로 인증서를 얻습니다. let 'sencrypt 또는 상업적 조직을 사용하여이를 발급하고 중간 인증서를 번들 파일로 병합 할 수 있습니다. 2. ServerBlock을 구성하십시오 : Listen443SSL, ssl_certificate 경로를 /etc/ssl/example.com.crt로 정의하십시오.

Nginx 구성을 수정 한 후 먼저 구문을 테스트 한 다음 서비스를 다시로드해야합니다. 1. nginx-t를 사용하여 구성 파일 구문을 확인하십시오. "SyntaxIsok"및 "TestisSuccessful"프롬프트가 프롬프트되면 정확하다는 것을 의미합니다. 오류가 있으면 특정 문제 라인이 표시됩니다. 2. 구성 파일 권한이 높으면 sudonginx-t를 사용하여 실행해야합니다. 3. 테스트가 실제로로드되었는지 확인하십시오. nginx-t-c/path/to/your/nginx.conf를 통해 경로를 지정하거나 ps-ef | grepnginx를 통해 기본 프로세스에서 사용한 구성 파일을 볼 수 있습니다. 4. 테스트가 통과 된 후 SudongInx-Sreload Overload 서비스를 실행하여 새 구성을 발효시킵니다.

TOSETUPANNGINXSERVERBLOCK, FIRSTANDISTITSTRSTRUCTUREUSINGSTERTIPTIONSTIPTINTSLIKELISTEN, SERVER_NAME, andlocation; 다음, CreateAdirectoryStructureForyOUrsitesuchas/var/examplectermissions;

^~ 수정자는 지정된 접두사의 URL의 일치를 우선 순위를 정하고 후속 정규식이 일치하는 것을 방지하기 위해 Nginx에서 사용됩니다. 요청 된 URL 이이 접두사로 시작하면 Nginx는 즉시이 블록 구성을 채택하고 모든 정규 표현식 (위치 ~ 또는 위치 ~*) 점검을 건너 뜁니다. 1. 특정 경로 처리가 필요한 상황 (예 : 정적 자원)이있는 상황에 적합하며 정기 규칙에 의해 덮어 쓰지 않도록합니다. 2. 종종 성능을 향상시키고 특정 규칙이 먼저 실행되도록하는 데 사용됩니다. 3. 일반적인 시나리오에는 서비스 이미지, 스크립트 또는 내부 API 라우팅이 포함됩니다. 다른 수정 자와 비교할 때 : 4. 정상 접두사 일치는 정규를 계속 확인합니다. 5. 정확한 일치는 전체 경로에만 적용됩니다. 6. 정규 경기가 시작됩니다

설치된 nginx 버전을 확인하는 가장 쉬운 방법은 터미널 또는 쉘에서 명령을 실행하는 것입니다. 먼저 Nginx-V 또는 Nginx-V 명령을 사용하여 기본 버전 번호 또는 자세한 정보를보십시오. "CommandNotFound"가 프롬프트되면 올바르게 설치되지 않았거나 시스템 경로에 있지 않을 수 있습니다. 둘째, Linux Systems에서 SystemCtlStatusnginx를 통해 서비스 상태를 확인하여 버전 정보를 얻을 수 있습니다. 마지막으로, 명령 줄 액세스 권한이없는 경우 서버 정보 패널, 호스팅 제공자 문서 또는 HTTP 응답 헤더 (예 : 서버 : nginx/1.22.1)를 통해 버전을 간접적으로 확인할 수 있지만이 메소드는 Server_token을 활성화할지 여부에 따라 제한됩니다.

Toconfigureabackupserverinnginx, "백업"ParametertoArintheUpstreamBlock을 추가하고, 언제 어디서 receivestraffic을 보장하고

proxy_pass는 nginx에서 클라이언트 요청을 백엔드 서버로 전달하기 위해 사용되며, 핵심 역할은 Nginx가 HTTP 요청을 역 프록시로 처리 할 수 있도록하는 것입니다. 1. 지정된 백엔드 서비스 (예 : 포트 3000에서 실행되는 node.js 응용 프로그램과 같은)로 사용자 요청을 받고 전달합니다. 2. Nginx는 백엔드에서 반환 된 응답을 처리하여 사용자에게 다시 보냅니다. 동시에 프로세스에서 캐시, 압축 또는 액세스 제어 기능을 추가 할 수 있습니다. 3. 설정시 경로 일치와 꼬리 슬래시 사이의 관계에주의를 기울여 일치하는 부분의 경로를 제거할지 여부를 결정하십시오. 4. 백엔드가 올바른 컨텍스트 정보를 얻을 수 있도록 표준 프록시 헤더 (예 : 호스트, Xeal-IP 등)를 설정해야합니다. 5. 일반적인 문제에는 경로가 포함되지 않습니다
