seminar-2020 icon indicating copy to clipboard operation
seminar-2020 copied to clipboard

Nginx 설정 수정 시 symbolic link 재생성에 관하여

Open gyusang opened this issue 3 years ago • 1 comments

과제 4나 세미나 등에서, /etc/nginx/sites-available/에 있는 nginx 설정 파일을 수정하면 /etc/nginx/sites-enabled/에 있는 symbolic link를 지우고 다시 생성하라고 하셨습니다.

그런데 symbolic link는 하나의 파일이 다른 파일을 가리키는 상황을 위해 만들어진 도구입니다. 즉, /etc/nginx/sites-enabled/waffle-backend.conf/etc/nginx/sites-available/waffle-backend.conf를 가리키므로 /etc/nginx/sites-available/waffle-backend.conf를 수정하면 그 즉시 /etc/nginx/sites-enabled/waffle-backend.conf는 수정된 내용을 가리키게 되는 것입니다.

/etc/nginx/sites-available/waffle-backend.conf를 수정한 이후 /etc/nginx/sites-enabled/waffle-backend.conf를 cat으로 확인하면 수정된 것을 확인할 수 있고, nginx를 재시작하면 수정한 내용이 반영되는 것을 확인했습니다.

symbolic link가 이렇게 정상적으로 작동되는데도 매번 symbolic link를 지우고 새로 생성하는 것을 권장하는 이유가 무엇인가요?

gyusang avatar Oct 24 '20 06:10 gyusang

@gyusang 앗 ㅋㅋ 말씀하신 내용이 맞습니다. 그냥 제가 다른 버전의 conf 파일을 만들어서 symbolic link를 재연결하는 내용과 헷갈려서, 과제 4 상황에서는 불필요한 내용과 지시를 덧붙여둔 것입니다. 멍청했네요. 즉, sites-available에서 동일한 conf 파일의 내용만 수정하는 경우에는 말씀하신대로 필요 없습니다. 다른 버전의 conf 파일을 만들어놓고 sites-enabled의 link가 이것을 새롭게 가리키도록 하고 싶을 때의 방법 중 하나를 제가 혼동했습니다. 정확히 표현하자면, symbolic link의 원본 대상이 되는 동일한 파일을 '수정'하는 경우에는 link를 재생성할 필요가 없으나, sites-available에서 conf 역할을 하는 파일 자체를 지우고 새로 만드는 등 '파일 자체를 변경'하는 경우에는 link를 재생성해야한다, 라고 말할 수 있겠지요. 언뜻 비슷해보일 수 있는데 아무튼 조금 혼란스럽게 전달드렸던 것 같습니다.

과제 4 내용에서 수정( https://github.com/wafflestudio/rookies/commit/c573934f8bb29cd029be6688d7916e34337c3396 )해 둘게요! symbolic link에 대해 생소하신 분들이 있을텐데 추가적인 설명들 감사합니다 :)

davin111 avatar Oct 24 '20 07:10 davin111