Nginx 프로필 상세 설명 및 Nginx 의 시작 제어, 여 기 는 에센스 입 니 다.
nginx 의 정지 제어
nginx 설정 파일 해독
nginx 정지 제어
Nginx 서버 를 설치 한 후에 우 리 는 어떻게 시작 하고 정지 하 며 Nginx 서 비 스 를 다시 시작 하 는 지 배 워 야 합 니 다.Linux 플랫폼 에서 Nginx 의 작 동 을 제어 하 는 방법 만 있 는 것 이 아니 라 상세 하 게 배 워 보 겠 습 니 다.Nginx 의 신호 통 제 는 nginx 를 제어 하 는 데 있어 신호 통 제 를 통 해 이 루어 집 니 다. 따라서 우 리 는 Nginx 서버 의 신호 통 제 를 소개 합 니 다. nginx 서비스 가 실 행 될 때 하나의 메 인 프로 세 스 와 여러 개의 worker process 작업 프로 세 스 를 유지 합 니 다. 우 리 는 메 인 프로 세 스에 신 호 를 보 내 면 서비스의 작 동 을 제어 할 수 있 습 니 다. 그러면 우 리 는 어떻게 서비스 에 신 호 를 보 냅 니까?신 호 를 보 내 려 면 서비스의 PID 를 알 아야 합 니 다. 그러면 우 리 는 그의 프로 세 스 ID 를 가 져 와 서 첫 번 째 로 ps 를 이용 하여 상세 한 정 보 를 확인 해 야 합 니 다.
ps -ef | grep nginx
ps aux | grep nginx
# linux ,
두 번 째 는 파일 저장 소 주 소 를 직접 봅 니 다. 이 동작 은 pid 저장 소 를 먼저 열 어야 효력 이 발생 합 니 다.
# logs
cd logs
#
ll
# Nginx.pid , nginx pid
vi nginx.pid
우리 pid 를 찾 으 면 다음 작업 을 시작 할 수 있 습 니 다. 시작 하기 전에 받 아들 일 수 있 는 신호 가 어떤 것 이 있 는 지, 각자 어떤 의미 가 있 는 지 알 아 보 세 요.
시그 널
사용법
TERM/INT
nginx 서비스 빠 른 정지
QUIT
느 린 nginx 서비스 정지
HUP
부 드 러 운 재 부팅 은 새로운 프로필 을 사용 하여 시작 한 후 기 존 프로 세 스 를 천천히 중단 합 니 다.
USR1
로그 의 절단 에 사용 할 로 그 를 다시 엽 니 다.
USR2
새로운 nginx 버 전 으로 서 비 스 를 시작 한 후 기 존의 프로 세 스 를 천천히 중단 합 니 다. 즉, 이른바 '부 드 러 운 업그레이드' 입 니 다.
WINCH
워 커 prcess 를 천천히 중단 하고 nginx 서비스 부 드 러 운 업그레이드 에 사용 합 니 다.
Nginx 서비스 프로 세 스에 신 호 를 보 내 는 방법 도 두 가지 가 있 습 니 다.
kill USR2 12808 # 12808 USR2
마찬가지 로 저 희 는 동적 PID kill 신호 filepath 를 사용 할 수 있 습 니 다.
kill USR ‘nginx.pid ’
nginx 서비스의 시작 은 Liux 플랫폼 에서 Nginx 서버 를 시작 하여 설치 디 렉 터 리 에 있 는 Sbin 디 렉 터 리 의 바 이 너 리 파일 을 직접 실행 하면 됩 니 다. 구체 적 인 명령 은 sbin 디 렉 터 리 에 있 습 니 다.
./nginx
여기 서 주로 바 이 너 리 파일 의 용법 을 설명 합 니 다. 이것 은 우리 가 일 할 때 자주 사용 하 는 명령 입 니 다.
#h ? nginx
./nginx -h|?
nginx 서비스 가 정지 되 는 두 가지 방법 이 있 습 니 다.
#
# nginx
./nginx -s stop
# INT | TERM QUIT
./nginx -g INT | TERM | QUIT
# ((PID )
kill INT | TERM | QUIT PID
#
kill -9 id
kill -9 pid
* * Nginx 서비스의 재 부팅 * * 저희 Nginx 서비스 가 새로운 모듈 에 가입 한 후 현재 Nginx 서비스 에 새로운 설정 을 적용 하거나 새로운 모듈 을 사용 하 기 를 원한 다 면 Nginx 서 비 스 를 다시 시작 해 야 합 니 다.물론 우 리 는 Nginx 서 비 스 를 먼저 닫 은 다음 에 새로운 Nginx 프로필 을 사용 하여 Nginx 서 비 스 를 다시 시작 할 수 있 습 니 다. 여기 서 우 리 는 부 드 러 운 Nginx 서 비 스 를 다시 시작 하 는 과정 을 말 합 니 다. Nginx 서비스 프로 세 스 가 신 호 를 받 은 후에 우리 의 새로운 프로필 을 읽 습 니 다. 만약 에 우리 의 새로운 프로필 이 정상 이 라면 새로운 Nginx 서 비 스 를 시작 합 니 다.그리고 오래된 프로 세 스 서 비 스 를 부 드 럽 게 닫 습 니 다. 새로운 Nginx 서비스 프로필 에 문제 가 있 으 면 오 류 를 표시 하고 오래된 Nginx 를 사용 하여 다음 명령 을 사용 하면 Nginx 의 부 드 러 운 재 부팅 을 할 수 있 습 니 다.
./nginx -g HUB( ) [ ]
、
kill HUB PID( pid )
./nginx -s reload nginx
Nginx 서비스의 업그레이드 만약 에 우리 가 현재 의 Nginx 서 비 스 를 업그레이드 하고 새로운 모듈 을 응용 해 야 한다 면 가장 간단 한 방법 은 멈 춘 다음 에 새로운 Nginx 서 비 스 를 시작 하 는 것 이다. 그러면 우리 의 사용자 체험 이 매우 나 빠 서 사용자 가 한 동안 우리 의 서버 를 방문 하지 못 하 게 할 것 이다. 이 문 제 를 해결 하기 위해Nginx 는 부 드 러 운 업그레이드 방안 을 제공 합 니 다. 주의: nginx 서버 의 부 드 러 운 업 그 레이 드 를 실현 하기 위해 새로 설 치 된 서버 경 로 는 이전 과 일치 해 야 합 니 다.따라서 새로 설 치 된 서버 를 사용 하기 전에 오래된 nginx 서버 를 백업 하 는 것 을 권장 합 니 다. 여러 가지 이유 로 신 구 클 라 이언 트 경로 가 일치 하지 않 으 면 작업 을 할 수 있 습 니 다. 오래된 서버 경 로 를 새로운 경로 로 바 꾸 고 새로운 서버 를 오래된 경로 에 넣 을 수 있 습 니 다.
#newinstallpath
./nginx -p newinstallpath
#
#
#
./nginx -g USR2
#
kill USR2 nginx.pid
#
ps -ef |grpe nginx
#
./nginx -g WINCH
실행 과정 Nginx 서 비 스 는 USR 2 의 신 호 를 받 은 후 먼저 오래된 Nginx 를 받 습 니 다.pid 파일 뒤에 'nginx. pid. oldbin' 을 추가 하고 새 버 전의 Nginx 서버 의 바 이 너 리 파일 시작 서 비 스 를 실행 합 니 다. 시작 에 성공 하면 두 개의 Nginx 서비스 가 서 비 스 를 제공 한 후에 기 존 에 WINCH 신 호 를 보 내야 합 니 다.오래된 nginx 서 비 스 를 천천히 정지 시 키 고 nginx. pid. oldbin 파일 을 삭제 합 니 다. WINCH 신 호 를 보 내기 전에 저 희 는 언제든지 새로운 서 비 스 를 중단 할 수 있 습 니 다.
기본 프로필 해독
디 렉 터 리 에서 모든 프로필 이 conf 디 렉 터 리 에 놓 여 있 음 을 알 수 있 습 니 다.
# ( )
#user nobody; # ip
worker_processes 1; # ,
#error_log logs/error.log;
# nginx logs
#error_log logs/error.log notice;
#error_log logs/error.log info;
#
#pid logs/nginx.pid;
# pid logs nginx.pid
#events
#
# worker_processes
#
events {
worker_connections 1024;
# 512 1024 -2048
#
accept_mutex off;
#
multi_accept on;
#
#
use method;
# select poll ...
# events
}
#http
# nginx
http {
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_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
주의: 최근 에 nginx 에 관 한 지식 을 지속 적 으로 업데이트 하고 있 습 니 다. 여러분 의 관심 을 환영 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.