nginx를 사용하는 서버 웹 환경에서 서버를 재시작 하는 방법에 대하여 알아봅니다.



# nginx 서버 재시작하기
서버를 재시작하는 방법으로 restart와 reload 방법이 사용됩니다. 먼저 이 둘의 차이점은 무엇일까요?


! nginx reload와 restart의 차이점
이 둘의 가장 큰 차이점은 서버를 실제로 Shutdown 후 재시작하는 과정에 있습니다. 즉 restart의 경우 서버를 내리고 다시 시작하게 합니다. 하지만 reload의 경우 이와 달리 서버가 중단되지 않으며  단지 reload 시점의 설정 파일만 불러와 다시 적용하는 것이 차이점입니다.

만약 서버의 설정 파일만 갱신하여 반영하려면 reload를 사용하는 것으로 원하는 결과를 얻을 수 있습니다.

"restart는 nginx 서버를 중단 후 재가동 ...
하지만 reload는 설정만 다시 적용한다"


이런 이유로 만약 서버에 문법 등의 에러가 발생하는 경우 restart는 서버가 멈추게 됩니다. 하지만 reload는 서버를 중단하지 않았으므로 서버가 멈추지 않겠죠.


@ 서버 재시작 및 리로드 방법
아래는 서버 재시작 및 리로드 방법입니다.
// Restart
sudo service nginx restart

// Reload
nginx -s reload

여기서 아래의 reload를 보시면 -s 플래그를 사용하였습니다. -s는 Signal로 즉 nginx 서버에 신호를 보내 특정 액션을 취할 수 있게합니다.
 
이때 nginx -s와 함께 설정 가능한 값은 아래와 같습니다.

  • reload // 설정 파일을 다시 불러오기
  • quit // 서버 shutdown
  • stop // 서버 즉시 중단
  • reopen // 로그 파일을 다시 열기

여기까지 nginx의 reload 및 restart 방법에 대하여 간단하게 알아보았습니다.

참고로 nginx의 설정 파일을 변경하는 경우라면 nginx -t를 사용하여 설정파일에 이상이 있는지 없는지 확인하는 것도 좋은 방법입니다.