nginx 를 다시 시작 한 후 nginx. pid 를 잃 어 버 린 해결 방법

3687 단어
1. nginx 의 정지 작업
작업 중단 은 nginx 프로 세 스에 신 호 를 보 내 는 것 을 통 해 이 루어 집 니 다.단계 1: nginx 메 인 프로 세 스 번호 조회
 
  
ps -ef | grep nginx

프로 세 스 목록 에서 master 프로 세 스 를 찾 습 니 다. 번 호 는 주 프로 세 스 번호 입 니 다.
STEP 2: 신호 보 내기
여 유 롭 게 Nginx: kill - QUIT 메 인 프로 세 스 번호 빨리 정지 Nginx: kill - TERM 메 인 프로 세 스 번호 강제로 정지 Nginx:
 
  
pkill -9 nginx

또한 nginx. conf 에 pid 파일 저장 경 로 를 설정 하면 이 파일 은 Nginx 메 인 프로 세 스 번 호 를 저장 하고 지정 하지 않 으 면 nginx logs 디 렉 터 리 에 저장 합 니 다.pid 파일 이 있 으 면 우 리 는 먼저 Nginx 의 메 인 프로 세 스 번 호 를 조회 하지 않 고 Nginx 에 신 호 를 보 냅 니 다. 명령 은 다음 과 같 습 니 다.
 
  
kill - '/usr/nginx/logs/nginx.pid'

2. nginx 의 부 드 러 운 재 부팅
설정 이 변경 되면 Nginx 를 다시 시작 하려 면 Nginx 를 닫 고 열 어야 합 니까?아 닙 니 다. Nginx 에 신 호 를 보 내 고 부 드 럽 게 다시 시작 할 수 있 습 니 다.부 드 러 운 재 부팅 명령:
 
  
kill -HUP

또는 / usr / nginx / sbin / nginx - s reload 를 사용 합 니 다. 설정 파일 을 수정 한 후에 수 정 된 설정 파일 이 올 바른 지 확인 하 는 것 이 좋 습 니 다. 재 부팅 후 Nginx 에 오류 가 발생 하여 서버 의 안정 적 인 운행 에 영향 을 주지 않도록 하 는 것 이 좋 습 니 다.Nginx 설정 이 올 바른 지 여 부 를 판단 하 는 명령 은 다음 과 같 습 니 다. 
 
  
nginx -t -c /usr/nginx/conf/nginx.conf

/usr/nginx/sbin/nginx -t

3. nginx 의 부 드 러 운 업그레이드
서버 가 실행 중인 Nginx 가 모듈 을 업그레이드, 추가 또는 삭제 하려 면 서버 를 멈 추고 해당 하 는 수정 을 해 야 합 니 다. 그러면 서버 는 일정 시간 동안 서 비 스 를 중지 해 야 합 니 다. Nginx 는 서버 운행 에 영향 을 주지 않 고 여러 가지 업그레이드 동작 을 할 수 있 습 니 다.
단계 1:
Nginx 프로그램 을 업그레이드 하면 오래된 프로그램 파일 을 새 프로그램 으로 교체 하고 컴 파일 하여 설치 하면 새 프로그램 은 Nginx 설치 디 렉 터 리 에 직접 컴 파일 합 니 다.
STEP 2: 명령 실행
kill - USR 2 오래된 프로그램의 주 프로 세 스 번호 나 프로 세 스 파일 이름
이 때 오래된 Nginx 메 인 프로 세 스 는 자신의 프로 세 스 파일 을. oldbin 으로 이름 을 바 꾸 고 새 Nginx 를 실행 합 니 다.신 구 Nginx 는 시 와 함께 실행 되 며 요청 을 공동으로 처리 합 니 다.이 때 이전 버 전의 Nginx 를 점차 멈 추고 명령 을 입력 하 십시오:
kill - WINCH 구 판 주 프로 세 스 번호
오래된 작업 프로 세 스 는 작업 이 완료 되면 서 종 료 됩 니 다. 새 버 전의 Nginx 작업 프로 세 스 는 이전 작업 프로 세 스 를 대체 합 니 다.새 버 전 을 사용 할 지, 아니면 구 버 전 으로 복원 할 지 결정 할 수 있 습 니 다.
4. 새 / 오래된 작업 프로 세 스 를 시작 할 설정 을 다시 불 러 오지 않 습 니 다.
kill - UP 이전 / 새 주 프로 세 스 번호 여 유 롭 게 이전 / 새 프로 세 스 kill - QUIT 이전 / 새 주 프로 세 스 번 호 를 닫 습 니 다. 이 때 오류 가 발생 하면 프로 세 스 가 끝나 지 않 았 음 을 알려 줍 니 다. 다음 명령 으로 이전 / 새 작업 프로 세 스 를 닫 고 주 프로 세 스 번 호 를 닫 습 니 다. kill - TERM 이전 / 새 작업 프로 세 스 번호
이렇게 되면 이전 버 전 으로 복원 하려 면 위의 몇 가지 절차 가 모두 새 버 전의 메 인 프로 세 스 번 호 를 조작 해 야 합 니 다. 새 버 전 을 사용 하려 면 위의 몇 가지 절차 가 모두 구 버 전의 메 인 프로 세 스 번 호 를 조작 하면 됩 니 다.
위 는 Nginx 의 기본 적 인 작업 입 니 다. 앞으로 Nginx 가 더 좋 은 방법 으로 이 작업 을 처리 할 수 있 기 를 바 랍 니 다. Nginx 프로 세 스에 시스템 신 호 를 보 내 는 것 이 아니 라 Nginx 명령 이 좋 습 니 다.
아 리 클 라 우 드 서버 에서 프로 세 스 적 인 nginx - s stop 후 nginx - s reload 를 다시 시작 하면 항상 오류 가 발생 합 니 다 nginx: [error] open () "/ alidata / server / nginx / logs / nginx. pid" failed (2: No such file or directory).원인: nginx 프로 세 스 를 죽 인 후 pid 를 잃 어 버 렸 습 니 다. 다음 에 nginx - s reload 를 다시 시작 할 때 시작 할 수 없습니다. 다시 설치 하면 문 제 를 해결 할 수 있 습 니 다. 할 지 안 할 지 결정 하 세 요. 하하.
아니면 영어 해석 이 비교적 전문 적 입 니까?
issued a nginx -s stop and after that I got this error when trying to reload it.[error]: invalid PID number "" in "/var/run/nginx.pid"That /var/run/nginx/pid file is empty atm.What do I need to do to fix it?
nginx -s reload is only used to tell a running nginx process to reload its config. After a stop, you don't have a running nginx process to send a signal to. Just run nginx (possibly with a -c /path/to/config/file)
사용 방법:
 
  
nginx -c /path/to/config/file
// :/alidata/server/nginx/sbin/nginx -c /alidata/server/nginx/conf/nginx.conf

좋은 웹페이지 즐겨찾기