NGINX 관련 명령
flynngod@flynngod:/usr/local/nginx/sbin$ nginx -h
nginx version: nginx/1.13.6
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/nginx/)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file
flynngod@flynngod:/usr/local/nginx/sbin$ sudo nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
기본 설정 파일 을 사용 하면 nginx 를 직접 실행 할 수 있 습 니 다.
sudo nginx
명령 으로 실행 상 태 를 볼 수 있 습 니 다.
ps -ef | grep nginx
Nginx 서비스의 정지
Nginx 서 비 스 를 중단 하 는 방법 은 두 가지 가 있 습 니 다. 하 나 는 빠 른 정지 이 고 하 나 는 느 린 정지 입 니 다.빠 른 정지 란 현재 Nginx 서비스 가 처리 하고 있 는 모든 네트워크 요청 을 즉시 중단 하고 연결 을 즉시 버 리 고 작업 을 중단 하 는 것 을 말한다.완만 한 정지 란 현재 처리 중인 네트워크 요청 을 Nginx 서비스 가 처리 할 수 있 도록 허용 하지만 새로운 요청 을 받 지 않 고 연결 을 닫 고 작업 을 중단 하 는 것 을 말한다.Nginx 서 비 스 를 중단 하 는 작업 이 많 습 니 다.
ps -ef |grep nginx
kill -QUIT nginx
ps -ef |grep nginx
kill -TERM nginx
kill -9 nginx
kill - (HUP|TERM|QUIT) cat /usr/local/var/run/nginx.pid
kill -QUIT `cat /usr/local/var/run/nginx.pid`
Nginx 서비스의 재 부팅
Nginx 서버 의 설정 을 변경 하고 새 모듈 을 추가 한 후 현재 Nginx 서비스 에 새로운 설정 을 적용 하거나 새 모듈 을 적용 하려 면 Nginx 서 비 스 를 다시 시작 해 야 합 니 다.물론 우 리 는 먼저 Nginx 서 비 스 를 닫 은 후에 새로운 Nginx 프로필 로 서 비 스 를 다시 시작 할 수 있 습 니 다.Nginx 의 부 드 러 운 재 부팅 은 이러한 과정 입 니 다. Nginx 서비스 프로 세 스 가 신 호 를 받 은 후에 먼저 새로운 Nginx 프로필 을 읽 고 문법 이 정확 하면 새로운 Nginx 서 비 스 를 시작 한 다음 오래된 서비스 프로 세 스 를 천천히 닫 습 니 다.새로운 Nginx 설정 에 문제 가 있 으 면 오류 가 표 시 됩 니 다. 오래된 Nginx 프로 세 스 를 사용 하여 서 비 스 를 제공 합 니 다.
Nginx 설정 파일 (nginx. conf) 이 바 뀌 었 다 면 Nginx 를 다시 시작 하려 면 Nginx 메 인 프로 세 스에 시스템 신 호 를 보 내 는 방식 으로 진행 할 수 있 습 니 다.단, 다시 시작 하기 전에 Nginx 프로필 의 문법 이 정확 한 지 확인 하려 면 다음 명령 을 통 해 프로필 이 정확 한 지 테스트 할 수 있 습 니 다.
nginx -t -c /usr/local/etc/nginx/nginx.conf
Nginx 0.8. x 이후 버 전에 대해 서 는 nginx 를 다시 시작 하 는 명령 을 사용 할 수 있 습 니 다.
sudo nginx -s reload
Nginx 서버 업그레이드
현재 Nginx 서버 를 버 전 업그레이드 하려 면 새 모듈 을 적용 합 니 다. 가장 쉬 운 방법 은 현재 Nginx 서 비 스 를 중단 하고 새로운 Nginx 서 비 스 를 시작 하 는 것 입 니 다. 그러나 이 로 인해 한 동안 사용자 가 서버 에 접근 할 수 없습니다.이 문 제 를 해결 하기 위해 Nginx 서버 는 부 드 러 운 업그레이드 기능 을 제공 합 니 다.부 드 럽 게 업그레이드 하 는 과정 은 이 렇 습 니 다. Nginx 서 비 스 는 USER 2 신 호 를 받 은 후 먼저 오래된 nginx. pid 파일 (설정 파일 에서 이 파일 의 이름 을 변경 한 적 이 있 으 면 같은 과정) 에 접 두 사 를 추가 합 니 다. oldbin 을 nginx. pid. oldbin 파일 로 변경 합 니 다.그리고 새 버 전인 Nginx 서버 의 바 이 너 리 파일 시작 서 비 스 를 실행 합 니 다.새 서버 가 시작 되면 시스템 에 신 구 두 개의 Nginx 서비스 가 공동으로 웹 서 비 스 를 제공 합 니 다.그 다음 에 오래된 Nginx 서비스 프로 세 스에 WINCH 신 호 를 보 내 서 오래된 Nginx 서 비 스 를 부 드 럽 게 중단 시 키 고 nginx. pid. oldbin 파일 을 삭제 해 야 합 니 다.WINCH 신 호 를 보 내기 전 언제든지 새로운 Nginx 서 비 스 를 중단 할 수 있다.Nginx 서버 의 부 드 러 운 업 그 레이 드 를 실현 하기 위해 서 새로운 서버 설치 경 로 는 오래된 것 과 일치 해 야 합 니 다.따라서 새 서버 를 설치 하기 전에 오래된 서버 를 백업 하 는 것 을 권장 합 니 다.어떤 이유 로 신 구 서버 의 설치 경로 가 일치 하지 않 으 면 다음 명령 을 사용 하여 구 서버 의 설치 경 로 를 새 서버 의 설치 경로 로 변경 할 수 있 습 니 다.
nginx -p newInstallPath
이 중 new InstallPath 는 새 서버 의 설치 경로 입 니 다.이후 낡은 서버 를 백업 하고 새 서버 를 설치 하면 된다.
실행 중인 Nginx 를 업그레이드 하려 면 서 비 스 를 중단 하지 않 고 진행 할 수 있 습 니 다. 구체 적 인 절 차 는 다음 과 같 습 니 다.
kill -USR2 Nginx
:kill -USR2 `cat /usr/local/nginx/nginx.pid`
ls / usr / local / nginx / logs 로 이름 변경 여 부 를 확인 할 수 있 습 니 다.
ulimit -SHn 65535
/usr/local/nginx/sbin/nginx
kill -WINCH Nginx
ps -ef | grep nginx
새 메 인 프로 세 스 가 종료 되면 오래된 메 인 프로 세 스 는. oldbin 접 두 사 를 제거 하고 그의. pid 파일 로 복원 합 니 다. 그러면 모든 것 이 업그레이드 전 으로 복 원 됩 니 다.업그레이드 에 성공 하고 새로운 버 전 을 유지 하려 고 할 때 QUIT 신 호 를 오래된 메 인 프로 세 스에 보 내 서 종료 시 키 고 새로운 프로 세 스 만 남 길 수 있 습 니 다: kill - QUIT 옛 메 인 프로 세 스 번호.이렇게 해서 웹 서비스 제공 을 멈 추 지 않 고 Nginx 서버 의 부 드 러 운 업 그 레이 드 를 완성 했다.
레 퍼 런 스
https://www.jianshu.com/p/84355e6caccb
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.