-
nginx test, reload, restart웹서버/nginx 2024. 2. 11. 11:55
>ngnix -t;
>ngnix -T;
nginx -t: 이 명령어는 Nginx의 구성 파일을 구문 분석하여 구성에 구문 오류가 있는지 확인합니다. 이 명령어는 구성 파일의 유효성을 테스트하고, 오류가 있는 경우 해당 오류 메시지를 출력합니다. 구문 오류가 발견되면 Nginx는 새로운 구성을 로드하지 않고 이전 구성을 유지합니다. 이는 구성 변경 사항을 적용하기 전에 구문 오류를 해결할 수 있도록 해줍니다.
nginx -T: 이 명령어는 nginx -t와 유사하지만, 더 상세한 정보를 제공합니다. 구성 파일의 구문 오류 뿐만 아니라, 현재 사용 중인 모든 Nginx 구성을 보여줍니다. 이는 주요한 디버깅 도구로 사용될 수 있으며, 현재 서버의 모든 구성 옵션을 확인하고자 할 때 유용합니다.
따라서, -T 옵션은 구성 파일의 유효성을 테스트하는 것뿐만 아니라, 현재 사용 중인 모든 구성을 확인할 수 있도록 도와줍니다. -t 옵션은 단순히 구성 파일의 구문 오류를 확인하는 데 사용됩니다.
> sudo systemctl reload nginx
> sudo systemctl restart nginx
nginx.conf 파일에 구성 오류가 있는 경우,
reload 명령어는 Nginx 서버를 다시 시작하지 않고 구성 파일을 다시로드합니다.
이것은 서버에 연결된 클라이언트에게 서비스 중단을 야기하지 않고도 새로운 구성을 적용할 수 있게 해줍니다.
구성 파일을 다시로드할 때, Nginx는 새로운 구성 파일을 읽고 이전 구성과 비교하여 변경된 내용을 반영합니다.
그러나 서버 자체를 중지하거나 재시작하지 않기 때문에 현재 실행 중인 요청에는 영향을 미치지 않습니다.
이는 서버를 지속적으로 운영 중인 동안 구성을 업데이트할 수 있는 편리한 방법입니다.
하지만, reload 명령어는 구성 파일에 오류가 있을 경우에도 서버가 계속 실행됩니다.
따라서 구성 파일을 변경한 후에는 구문 오류가 없는지 반드시 확인하고, 그렇지 않으면 새로운 구성이 적용되지 않을 수 있습니다. 이때는 test 명령어를 사용하여 구문을 테스트하고, 오류가 없으면 reload 명령어를 사용하여 구성을 다시로드합니다.
반면에, restart 명령어는 서버를 중지하고 다시 시작하여 새로운 구성 파일을 적용합니다.
이는 구성 파일이 수정되면 서버에 연결된 모든 클라이언트 요청이 잠시 중단될 수 있음을 의미합니다.
따라서 구성을 변경할 때마다 모든 연결이 끊겨야 하는 경우에 사용됩니다.
요약하면, reload 명령어는 서버를 중지하지 않고도 구성을 업데이트할 수 있지만, 구성 파일에 오류가 있을 때에도 서버가 계속 실행됩니다. 따라서 구성을 변경한 후에는 항상 구문 오류를 확인하고, 문제가 발견되면 수정한 후에 reload 명령어를 사용하여 구성을 다시로드해야 합니다.
'웹서버 > nginx' 카테고리의 다른 글
fastcgi optimize (1) 2024.02.11 엔진엑스 try_files 디렉티브 (1) 2024.02.11 "too many open files" error (0) 2024.02.10 엔진엑스 파일 핸들 캐시 설정 (0) 2024.02.10 brotli (3) 2024.02.10