https://geekflare.com/auto-restart-services-when-down/

 

이글을 읽고 nginx에 크론을 이용해서 서버가 죽었을 경우 재시작을 하게하는데요

 

여기서는 검사 주기가 15분마다 실행하던데

 

혹시 설정하신 분들은 몇분마다 검사하는 걸로 하셨어요???

 

 

  • profile

    정상적인 서버라면 1년 내내 냅둬도 nginx가 혼자서 죽지는 않습니다. 아파치라면 몰라도...

    n분마다 죽었는지 체크해서 재시작하도록 하는 세팅은 더 심각한 문제를 보지 못하도록 숨겨 버리고,

    (저렇게 해놓으면 안전하다는 착각에 에러 로그는 평생 안 보게 됩니다 ㅋㅋㅋ)

    재시작하더라도 최대 n분간 서비스가 중단될 수 있으므로 바람직한 해결책이 아닙니다.

     

    우분투 16.04 이상, 센토스 7 이상 비교적 최근에 나온 리눅스 배포판이라면

    모든 서비스를 관리하는 systemd가 지속적으로 상태를 체크하고 자동 재시작하도록 설정할 수 있습니다.

    초 단위로 감지하므로 웬만한 크론보다 빠르고 정확합니다.

    https://jonarcher.info/2015/08/ensure-systemd-services-restart-on-failure/

     

    결론: 리눅스 자체에서 더 잘 할 수 있는 것을 쉘 스크립트로 땜빵하지 마세요^^

  • profile ?
    감사합니다~

    저는 우분투 16.04를 쓰는데
    (/etc/systemd/system/)에 nginx.service 파일이 없더군요...)

    https://gist.github.com/Hexa/af1b8bdf694cc9312a0eb2302acf2807

    이렇게 찾았는데 이렇게 직접 파일을 넣어서 작동시키는게 맞을까요??
    원래 없는 데다 멀 만드려니깐 겁나네요 ㅋㅋ
  • ? profile

    /etc/systemd/system이 아니라 /lib/systemd/system에 있을 텐데요.

  • profile ?
    기진곰님 감사합니다...