nginx에는 하나의 마스터 프로세스와 여러 작업자 프로세스가 있습니다. 마스터 프로세스의 주요 목적은 구성을 읽고 평가하고 작업자 프로세스를 유지하는 것입니다. nginx는 이벤트 기반 모델 및 OS 종속을 사용합니다. 작업자 프로세스 간에 요청을 효율적으로 분배하는 메커니즘 작업자 프로세스 수는 구성 파일에 정의되며 지정된 구성에 대해 고정되거나 사용 가능한 CPU 코어 수에 따라 자동으로 조정될 수 있습니다(worker_processes 참조).
nginx와 해당 모듈의 작동 방식은 구성 파일에서 결정됩니다. 기본적으로 구성 파일의 이름은 nginx.conf이며 /usr/local/nginx/conf, /etc/nginx 또는 /usr 디렉터리에 있습니다. /local/etc/nginx.
다음은 nginx 구성 파일 시작, 종료, 다시 로드와 관련된 작업입니다
시작하려면 nginx, 실행 파일을 실행합니다. nginx가 시작되면 -s
매개변수를 사용하여 실행 파일을 호출하여 제어할 수 있습니다.
nginx -s <em>signal</em>로그인 후 복사
여기서 signal 은 다음 중 하나일 수 있습니다.
stop
— 빠른 종료quit
— 우아한 종료reload
— 다시 로드 중 구성 파일reopen
— 로그 파일 다시 열기예를 들어 작업자 프로세스가 현재 요청 처리를 완료할 때까지 기다리면서 nginx 프로세스를 중지하려면 다음 명령을 사용할 수 있습니다. 실행됨:
nginx -s quit로그인 후 복사
이 명령은 nginx를 시작한 동일한 사용자로 실행되어야 합니다.
구성 파일의 변경 사항은 다음 명령이 실행될 때까지 적용되지 않습니다. 구성 다시 로드는 nginx로 전송되거나 다시 시작됩니다. 구성을 다시 로드하려면 다음을 실행합니다.
nginx -s reload로그인 후 복사
마스터 프로세스가 구성을 다시 로드하라는 신호를 받으면 구문 유효성을 확인합니다. 새 구성 파일을 작성하고 여기에 제공된 구성을 적용하려고 시도합니다. 이것이 성공하면 마스터 프로세스는 새 작업자 프로세스를 시작하고 전송합니다. 그렇지 않으면 마스터 프로세스가 변경 사항을 롤백하고 이전 구성으로 계속 작업하여 종료하라는 명령을 받고 새 연결 수락을 중지합니다. 해당 요청이 모두 처리될 때까지 현재 요청을 계속 처리합니다. 그 후에는 이전 작업자 프로세스가 종료됩니다.
nginx가 시작되면 nginx -s [signal] 명령을 사용할 수 있습니다. control nginx.[signal]은 다음 명령일 수 있습니다:
stop
— 빠른 중지 quit
— 원활한 종료 reload
— 구성 파일 다시 로드 reopen
— 로그 파일 다시 열기
nginx -s quit
구성 파일이 변경되면 nginx를 다시 시작하거나 다시 로드하라는 명령을 받을 때만 새 파일이 됩니다. 구성 파일을 적용하려면
을 사용하세요.
nginx -s reload
마스터 프로세스는 구성 파일을 다시 로드하라는 신호를 받으면 먼저 새 구성 파일에 구문 오류가 있는지 확인합니다. 오류가 없으면 마스터 프로세스입니다. 새로운 구성을 채택하고 새 작업자 프로세스를 시작하는 동시에 이전 작업자 프로세스에 작업을 중지하도록 알립니다. 그렇지 않고 구성 파일에 오류가 있으면 마스터 프로세스는 계속 이전 구성을 사용하고 이전 작업자 프로세스는 계속 작동합니다. 마스터 프로세스가 작업자 프로세스에 작업 중지를 알리면 작업자 프로세스는 먼저 연결 수신을 중지한 다음 현재 요청을 모두 처리한 다음 종료하여 실행을 종료합니다.
위 내용은 내용의 측면을 포함하여 nginx의 기본 소개(공식 문서 기반)를 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.