Q&A

책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.

배포후 사이트 수정하는 방법

3 years, 7 months ago

why why

배포한 후에 사이트 수정이 가능한가요?

git clone 명령어로 덮어 쓰는건가요?

git에 데이터베이스를 포함 안하면 데이터베이스 변동 없이 사이트만 수정되나요?

수정하는 동안은 사이트는 닫히나요??

궁금한게 많아서 죄송합니다..ㅜ


sungyong
sungyong   3 years, 7 months ago

이미 서버에 배포가 되어 있고, 바꾸고 싶은 내용이 있으신거군요. 

이 경우, 로컬에서 수정을 한 다음, 깃허브로 푸시를 하세요. 

그리고 aws lightsail에서 git pull 하면, 업데이트 된 내용이 내려옵니다. 이때, 데이터베이스는 변동되지 않습니다. 배포된 서버에서는 postgresql을 쓰고 있고, 여기에 대해서는 전혀 버전관리를 하고 있지 않으니까요. 

만약, 새로운 필드를 추가하거나 필드를 수정하거나 삭제하는 등의 데이터베이스 구조를 수정하는 작업을 로컬에서 하셨다면, aws lightsail의 도커에서도 이를 반영할 수 있도록 마이그레이션을 해주셔야 합니다. 

Updated: April 26, 2021, 11:51 p.m.

taegon
taegon   3 years, 6 months ago

다른 질문은 모두 답변을 드린 것 같습니다만, 조금 부연 설명을 드리겠습니다.

웹사이트를 수정하실 때는 로컬에서 수정작업을 하시고, 수정사항을 확인하신 후, 변경사항을 서버에 반영하는 식으로 작업이 진행되는 것이 일반적입니다. 그래서 배포하기 전까지는 소스코드를 얼마든지 수정하셔도 되고, 여러사람이 동시에 작업을 하더라도 문제가 없습니다. 작업을 다 한 후, 소스코드를 합치고 확인하는 과정을 거치기 때문이지요.

그런데 배포하는 과정에서는 서비스가 잠시 중단되어야 합니다. 책을 따라하셨으면, 도커이미지를 다시 시작하는 정도의 작업이 필요한데, 대략 수초 정도 걸리게 됩니다. 이 시간동안은 웹사이트가 동작하지 않을 수 있습니다. 보통 이정도 시간은 유지보수 측면에서 큰 문제가 되지 않고, 그나마도 사용량이 적은 새벽시간에 예약을 해서 사용자가 불편함을 느끼지 못하도록 합니다. 작은 사이트들은 이렇게 운영이 되는 것이 보통입니다만, 만약 단 1초도 중단되지 않고 서비스를 하고 싶으시다면, 웹 서버를 여러대 운영하면서, 일부만 서버를 갱신하고, 그 기간동안에는 나머지 운용되고 있는 서버로 접속하도록 지정할 수 있습니다. 이렇게 여러 서버를 나누어서 갱신하면 사용자 입장에서는 중단없이 웹서비스가 이루어지고 있다고 느낄 수 있습니다.


Updated: May 3, 2021, 11:47 a.m.

Leave a Comment:
목록보기
Search
  • 자유게시판
  • Q&A