안녕하세요,
두 가지 질문이 있습니다:
- 로컬 서버에 스테이징 서버를 설정할 때 어떤 도메인 이름을 사용해야 하나요?
- 스테이징 서버를 2개 컨테이너 모드로 설치하고 S3에서 데이터를 자동으로 복원하는 것이 가능한가요?
감사합니다
안녕하세요,
두 가지 질문이 있습니다:
네, 가능합니다.
스테이징 서버가 가진 도메인을 말씀하시는 건가요? 질문의 의도를 잘 이해하지 못하겠습니다. 로컬(개발) 서버는 localhost에 있으며 도메인이 없습니다.
좀 더 자세히 설명드리겠습니다.
저는 현재 단일 컨테이너로 실행 중인 포럼을 더 많은 RAM, 디스크 및 CPU를 갖춘 새 서버로 이전하려고 합니다. 업데이트 속도를 높이기 위해 2개 컨테이너 구성으로 전환할 계획입니다.
새 서버에서 새 설치(fresh install)를 진행했는데, 기존 포럼 도메인을 가리키는 오류가 발생했습니다.
아마도 이 과정을 수행하는 동안 실수를 한 것 같습니다: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
가장 쉬운 방법은 discourse-setup을 --two-container 옵션과 함께 실행한 뒤, 해당 환경에서 백업을 복원하는 것입니다.
어떤 오류였나요? 언제 발생했나요?
DNS 구성을 놓친 것 같습니다.
스테이징 서버 설치 시 어떤 도메인을 사용해야 하는지 고민 중입니다.
스테이징 서버는 공개되지 않으므로, DNS 설정을 변경하지 않고 기존 웹사이트 도메인을 그대로 사용하려고 했습니다.
하지만 그 생각은 틀렸습니다.
제안해 주실 수 있는 방법이 있을까요?
에러 메시지에 나와 있듯이, 서버로 해석되는 도메인을 사용해야 합니다. 어떤 도메인인지는 중요하지 않지만, 공개되어 있고 정상적으로 작동해야 합니다.
DNS 문제가 해결되었습니다.
스테이징 서버에서 HTTPS를 끄고 싶습니다.
그럴 수 없습니다. Discourse는 https 없이 작동하지 않으며, 설령 작동한다고 해도 스테이징 사이트가 프로덕션 사이트와 달라져 좋은 테스트가 될 수 없습니다.
이 시점에서 해당 주제가 원래부터 스테이지 서버에 관한 것이었는지 확신할 수 없습니다.
그렇다면 스테이지 환경은 프로덕션 환경과 매우 달라질 것입니다.
그렇다면 이 내용은 다른 주제에 올리는 것이 맞을 것 같습니다.
@Saiano 님, 현재 사용 중인 서버를 2컨테이너 구성으로 변경하려는 건가요, 아니면 OP(최초 게시자)가 말한 것처럼 업그레이드를 배포하기 전에 테스트를 위해 별도의 두 번째 서버를 사용하려는 건가요?
저는 컨테이너가 하나 설치된 서버 하나를 가지고 있습니다.
호스팅을 변경하고, 프로덕션 환경에 배포하기 전에 업데이트/새로운 기능을 테스트해야 합니다.
그래서 저는
로컬 인스턴스를 2개 컨테이너로 구축하고,
마이그레이션을 테스트(온라인 서버 → 로컬 스테이징)하기로 결정했습니다.
그 후 새로운 서버를 구매하고,
디스코urses를 새로운 호스팅으로 마이그레이션할 것입니다.
그리고 로컬 스테이징 서버를 유지하여 테스트를 계속할 예정입니다.
너무 많은 질문을 해서 죄송합니다.
문제는 로컬 서버가 프로덕션 배포와 완전히 다른 개발용 설치 환경이라는 점입니다.
새 서버를 구매하는 단계부터 시작하시거나, 로컬 서버를 최소 2GB의 RAM을 갖춘 VM으로 설정하는 것을 권장합니다. 기존 서버의 인증서를 사용하여 새 서버를 설정한 후, 로컬 DNS 설정을 변경하여 해당 서버를 가리키도록 하려면 Move a Discourse site to another VPS with rsync 가이드를 일부 수정하여 따라 할 수 있습니다.
또는 복잡한 DNS 설정을 생략하고 새 임시 테스트 서브도메인에 테스트 서버를 설정하는 방법도 있습니다. 이 방식을 사용하고 yml 파일에 설정된 S3 백업 구성을 공유한다면, 기존 사이트의 데이터베이스를 S3 버킷에서 새 사이트로 직접 복원할 수 있습니다.
이 방법으로 시도해 볼게요. 이미 S3에 백업을 만들어 두었거든요.
테스트 도메인(test.mydomain.com)을 사용하다가 복원한 뒤, 도메인 이름을 원래대로 변경하는 건 어떨까요?
새 서버 도메인 이름을 변경한 뒤 다시 백업을 복원하는 것이 더 쉽습니다. 그러면 호스트네임 매핑 관련 작업도 모두 처리됩니다.
이렇게 해보려는데 도메인 이름 변경에 문제가 있습니다. 사이트에 접근할 수 없었습니다.
여러 번 인증서를 발급받으려고 시도했다면, 예를 들어 DNS가 올바르게 설정되지 않은 상태에서 재구축을 반복한 경우, 요청 제한(rate limit)에 걸렸을 수 있습니다. 이 경우 일주일 정도 기다리거나, 다음과 같이 다른 호스트 이름을 추가할 수 있습니다.
letsencrypt 폴더를 기존 사이트에서 새 사이트로 이동했는데, 정상적으로 작동합니다.