Back-end/Linux

Systemctl reload vs restart

somlang_bba 2023. 1. 16. 11:34
728x90

Systemctl 은 system control의 약어인 리눅스상의 명령어이다.

 

이 명령어를 이용하여 서비스를 등록, 중지, 재시작 등의 제어를 할 수 있다.

 

nginx를 이용한 웹서버 운용중 configuration을 변경하고 적용하기 위해서 system restart nginx를 주로 사용하고 있었지만

 

이를 발견한 사수가 restart 보다는 reload를 사용하는 것이 좋을 것이라는 충고를 해주었다.

 

그 이유인 즉슨, restart 명령어의 경우 새로 작성한 설정파일을 적용하기 위해 해당 프로세스를 아예 죽이고 다시 올리는 반면

 

reload의 경우 프로세스를 죽이지는 않되 설정파일을 최신화해주기 때문에,

 

웹서버에 붙어있던 사용자들을 대기큐에 넣지 않아서 사용자가 느끼는 불편함이 없기 때문이라고 한다.

 

*참고 nginx의 설정파일을 새로 작성한 뒤, 문법상에 문제가 없는지 알아보기 위해 테스트하는 명령어 

 

$> nginx -t

 

테스트 상 문제가 있는 경우 => 바로 아랫줄에 어떤 문제로 테스트 실패 했는지 알려준다. 위의 경우 server_name을 servername으로 작성하여 테스트에 실패하였다.
테스트 상 문제가 없는 경우 => syntax is ok라는 문구를 내뱉는다.

728x90