# 스테이징 서버 설정하기

**URL:** https://meta.discourse.org/t/set-up-a-staging-server/225951
**Category:** Sysadmins
**Tags:** how-to
**Created:** [5월 3, 2022, 5:24오전 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951 "2022-05-03T05:24:53Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [5월 3, 2022, 5:24오전 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/1 "2022-05-03T05:24:53Z")

</div>

스테이징 서버를 설정할 때 도움이 되는 몇 가지 팁이 있습니다.

## 스테이징 서버란?

스테이징 서버는 기본적으로 프로덕션 사이트의 클론입니다. 이 역시 서버에 위치하며 동일한 방식으로 작동합니다. 일반적인 Discourse 사이트와 마찬가지로 Docker 컨테이너 내에서 실행됩니다.

이것은 위험한 사항을 시도하거나, 사용자에게 쉽게 숨길 수 없는 사항을 시험해 볼 수 있는 장소를 제공하기 위해 존재합니다. [Discourse Advertising Plugin (Ads)](https://meta.discourse.org/t/official-advertising-ad-plugin-for-discourse/33734) 를 사용하여 광고를 시험하거나, 포럼 가져오기나 병합과 같은 특별한 작업을 수행하려는 경우 매우 유용합니다.

이것은 개발 서버와 대비됩니다. 개발 서버는 일반적으로 개발자가 안전하게 코드를 조정할 수 있도록 쉽게 접근할 수 있는(또는 샌드박싱된) 장소에서 실행됩니다.

## 무엇이 필요한가요?

1. 표준 셀프호스팅 설치를 위해 필요한 모든 것

2. S3 백업이 설정되어 있다면 작업이 훨씬 쉬워집니다

## 단계

#### 원하는 대로 서버를 설정하세요

일반적으로 Digital Ocean에 호스팅된 가상 Ubuntu 서버를 사용하지만, 익숙한 도구를 사용하면 됩니다.

#### Discourse 설치

이 가이드(또는 [dashboard.literatecomputing.com](http://dashboard.literatecomputing.com))를 통해 설치합니다. ‘쓰레기’ 이메일 자격 증명을 사용하는 것을 권장합니다(이메일이 작동할 필요가 없거나 원하지 않기 때문이죠).

> <https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md>

#### 설치된 것이 작동하는지 확인하세요:

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/a/2/0a2d344e0af5be55626a4a442ebbb8ea02d85b0c.png)

#### 관리자 계정 생성 (필요한 경우)

명령줄에서 관리자 계정을 설정합니다. 이렇게 하면 이메일을 통한 인증 과정을 생략할 수 있습니다.

```plaintext
./launcher enter app
rake admin:create

```

명령줄에서 백업으로 복원할 수 있으므로, 설치 테스트를 제외하면 엄밀히 말해서 필수 사항은 아닙니다.

#### app.yml 편집 및 몇 가지 조정 추가

1. 원래 app.yml의 사본을 만들어 두는 것이 좋습니다(저는 `app.vanilla.yml`이라고 부릅니다). 문제를 일으켰을 때 되돌릴 수 있습니다.

2. `env` 섹션의 끝에 다음 줄을 추가하세요:

3. S3(또는 유사한) 백업이 구성되어 있다면 이것도 추가하세요(메인 사이트의 설정을 사용하세요)

4.在那里 계신 동안 프로덕션 사이트에 있는 것과 동일한 플러그인을 추가하는 것도 좋습니다.

1. 재빌드 수행

## 스테이징 서버 관리

이제 S3 백업에 연결되어 있지만(백업을 덮어쓰지 않음), 복원이 쉽고, 어떤 상황에서도 누구에게도 이메일을 보내지 못하는 스테이징 서버를 갖추게 되었습니다. 완벽합니다!

새로운 백업을 스테이징 서버로 복원하고 마음껏 작업할 수 있습니다. 결과물이 마음에 들지 않으면 단순히 다시 복원하면 됩니다.

#### 켜기 또는 끄기

스테이징 서버를 ‘켜진’ 상태로 장기간 두면 Google에 색인될 위험이 있으며, 사용자가 실수로 프로덕션 대신 여기에 로그인할 수 있습니다. 자격 증명은 프로덕션 사이트의 클론이므로 이는 매우 가능성이 높습니다.

이 두 가지 문제를 완화하는 간단한 방법은 Discourse를 단순히 꺼두는 것입니다:

```plaintext
 ./launcher stop app

```

그리고 사용 가능하도록 다시 켜려면:

```plaintext
./launcher restart app

```

#### 업데이트

플러그인과 코드의 관점에서 정렬이 유지되도록 하려면 스테이징 서버와 프로덕션 사이트 모두를 동시에 업데이트/재빌드해야 합니다. app.yml 변경 사항도 마찬가지입니다.

S3를 사용하지 않는다면 백업을 서버 간에 수동으로 이동해야 합니다. 그리고 그것들은 큽니다!

#### 테스트 서버 시드 데이터 생성

스테이징 서버가 필요하다면, `Restore`를 통해 실제 포럼의 실제 데이터로 채워 넣어야 합니다. 때로는 특정 데이터가 문제를 일으키는 원인이며, 다른 데이터 세트로 포럼을 테스트하면 잘못된 희망을 줄 수 있습니다.

그러나 Discourse가 어떤 모습인지 확인하기 위한 테스트 서버가 필요하다면, 가짜 데이터로 확인해 보고 싶을 수 있습니다. 그렇다면 이렇게 할 수 있습니다:

```plaintext
./launcher enter app
ALLOW_DEV_POPULATE=1 bundle install
ALLOW_DEV_POPULATE=1 rake dev:populate

```

이것은 포럼에 가짜 데이터를 시드하여 원하는 테마와 플러그인으로 어떤 모습인지 볼 수 있게 해줍니다. 아직 포럼을 시작하지 않았다면, 이것이 어떤 모습일지 약간의 아이디어를 얻을 수 있습니다.

#### 2단계 인증 관리

메인 사이트의 계정 사용자 이름/비밀번호는 스테이징 사이트에서도 잘 작동해야 하지만, 2FA의 경우 그렇게 깔끔하지 않습니다. 문제가 발생하면 2FA를 끄세요:

```plaintext
./launcher enter app
rake users:disable_2fa[<USERNAME>]

```

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [5월 3, 2022, 6:17오전 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/2 "2022-05-03T06:17:01Z")

</div>

네이선, 이 가이드를 만들어주셔서 정말 좋은 아이디어네요.

혹시 제가 놓친 걸 수도 있지만, 여기서 이메일을 비활성화하는 단계가 어디인가요?

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [5월 3, 2022, 6:21오전 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/3 "2022-05-03T06:21:06Z")

</div>

좋은 질문입니다. 잘못된 SMTP 자격 증명을 입력하면 이를 확실히 방지할 수 있지만, 다음 명령을 사용하여 이메일 기능도 함께 비활성화하는 것이 더 합리적입니다:

`DISCOURSE_DISABLE_EMAILS = yes`

또한, 복원 작업을 수행할 때 이 설정은 자동으로 활성화되므로 사실 필수적이지 않습니다.

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [5월 10, 2022, 11:57오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/4 "2022-05-10T23:57:17Z")

</div>

OP에게 앱을 끄는 방법에 대한 설명을 추가했습니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5월 11, 2022, 3:42오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/5 "2022-05-11T15:42:38Z")

</div>

> [@nathankershaw](#):
>
> 또한, 복원을 수행하면 자동으로 활성화되므로 사실 그렇게 필요하지 않습니다.

맞습니다. 그리고 로그인 링크를 얻을 수 있는 것이 종종 유용하므로, 다음을 권장합니다.

```
 DISCOURSE_DISABLE_EMAILS = 'non-staff'

```

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [5월 20, 2022, 10:46오전 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/6 "2022-05-20T10:46:32Z")

</div>

가짜 사용자 생성에 관한 섹션을 추가하는 건 어떨까요? 일부 관리자는 스테이징 서버에 개인 식별 정보(PII)가 전혀 포함되지 않기를 원할 수 있습니다. 대규모로 가짜 사용자를 생성하거나 PII를 제거하기 위해 사람들이 어떤 도구를 사용하고 있나요?

저는 프로덕션 데이터를 가져온 후 각 항목에 대해 익명화 작업을 실행하는 방식을 고려해 보았지만, 그렇게 하면 스테이징 사이트의 외관이 매우 단조로워질 것입니다!

OP(원문)을 위키로 전환하는 것을 제안해도 될까요?

관련 링크:

> **[Ruby on Rails and the Complexity of Fake User Profiles, Made Simple | HackerNoon](https://hackernoon.com/ruby-on-rails-and-the-complexity-of-fake-user-profiles-made-simple-mf4j31gv)**
>
> When I was working on my last Medium story (here) I was first using our production database to show off some functions of a web application.

[https://stackoverflow.com/questions/11142446/how-to-populate-database-with-fake-data](https://stackoverflow.com/questions/11142446/how-to-populate-database-with-fake-data)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5월 20, 2022, 11:05오전 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/7 "2022-05-20T11:05:21Z")

</div>

위키로 만들었습니다.

일반적으로 스테이징 사이트는 실제 데이터로 동작하는지 테스트할 수 있도록 프로덕션 사이트와 동일한 데이터를 사용하도록 설정하는 것이 좋습니다. 하지만 사람들이 실제로 사용하기 전에 Discourse가 어떤 기능을 할 수 있는지 확인하기 위해 가짜 데이터를 원하는 경우도 있을 수 있겠네요. (아, 그 링크에는 좀 더 정교한 솔루션이 있는 것 같군요.)

어딘가에서 가져온 이름 목록을 사용하여 `User.create`를 루프 안에서 실행하는 방식도 가능할 것 같습니다.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [5월 20, 2022, 12:14오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/10 "2022-05-20T12:14:41Z")

</div>

물론 제 강점은 아닙니다 😊, 하지만 `rake dev:populate`를 사용하는 좋은 기회가 될까요?

```plaintext
cd /var/www/discourse
ALLOW_DEV_POPULATE=1 bundle install
ALLOW_DEV_POPULATE=1 rake dev:populate

```

이 방법은 프로덕션 사이트라기보다는 스테이징 환경/테스트 사이트에서도 작동할 것 같습니다.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [5월 20, 2022, 12:37오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/11 "2022-05-20T12:37:46Z")

</div>

사실 그게 전혀 방해가 되지 않는 것 같네요!

훌륭한 제안입니다:

태스크 코드: [discourse/populate.rake at 1472e47aae5bfdfb6fd9abfe89beb186c751f514 · discourse/discourse (github.com)](https://github.com/discourse/discourse/blob/1472e47aae5bfdfb6fd9abfe89beb186c751f514/lib/tasks/populate.rake)

사용자별 작업:

> <https://github.com/discourse/discourse/blob/1472e47aae5bfdfb6fd9abfe89beb186c751f514/lib/discourse_dev/user.rb#L16>

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5월 20, 2022, 1:05오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/12 "2022-05-20T13:05:07Z")

</div>

> [@JammyDodger](#):
>
> 물론 제 전문 분야는 아닙니다 🙂, 하지만 `rake dev:populate`를 사용하는 좋은 기회일까요?

좋네요! 실제로 누군가 이미 이 문제에 대해 생각했었네요!

수정: 재미로 최근에 설치한 테스트 사이트에서 이것을 시도해 보았습니다. 당신의 `bundle`과 `rake` 작업을 붙여넣었고, 다음과 같은 결과가 나왔습니다:

```plaintext
root@test2-app:/var/www/discourse# ALLOW_DEV_POPULATE=1 rake dev:populate
OK
I did no detect a custom `config/dev.yml` file, creating one for you where you can amend defaults.
There are 9 group records. Creating 6 more.
......
There are 3 user records. Creating 27 more.
...........................
There are 4 category records. Creating 26 more.
..........................
discourse-solved enabled on category 'Recipes' (12).
Creating 30 sample tag records
..............................
There are 6 topic records. Creating 24 more.
........................
root@test2-app:/var/www/discourse# 

```

 ![image](https://global.discourse-cdn.com/meta/original/4X/8/0/0/800ebc11524c9cf409ddeeaac4f93af70a50e1f2.png)

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [5월 20, 2022, 2:45오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/13 "2022-05-20T14:45:28Z")

</div>

> [@merefield](#):
>
> 가짜 사용자 생성에 대한 섹션은 어떨까요? 일부 관리자는 스테이징 서버에 개인 식별 정보(PII)가 전혀 없기를 원할 수 있습니다. 대규모로 가짜 사용자를 생성하거나 PII를 제거하기 위해 사람들은 무엇을 사용하고 있나요?

이 방식의 큰 문제는 데이터 세트가 더 이상 라이브 데이터를 대표하지 않게 된다는 점입니다.

스테이징 서버는 라이브 환경을 대표해야 합니다. 그렇지 않으면 계획된 변경 사항이 프로덕션으로 배포되기 전에 모든 것을 테스트할 수 없기 때문입니다.

저는 비대표적 테스트가 라이브 환경에서 나중에 발생하는 문제를 식별하지 못해 발생한 꽤 인상적인 실패 사례들을 지켜본 적이 있습니다. 대부분이 데이터 품질 문제로 인해 발생했습니다.

예를 들어, 이중 성(하이픈이 있는 경우와 없는 경우)과 억양 부호를 가진 문자가 막대한 혼란을 야기했습니다.

진정한 스테이징 서버라면 라이브 환경을 _정확히_ 모방해야 합니다. 일반 사용자에게 사본이 표시되지 않도록 하고, 비직원 대상 이메일을 비활성화하는 것이 매우 권장되지만, 그 외에는 문제를 초래할 뿐입니다.

> **[7 Reasons Why Your Staging Environment Sucks | Loadmill | Loadmill](https://www.loadmill.com/blog/7-reasons-why-your-staging-environment-sucks)**
>
> Learn the 7 common pitfalls that make staging environments fail to catch bugs and how to address them for better production reliability.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [5월 20, 2022, 3:09오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/14 "2022-05-20T15:09:07Z")

</div>

아, 동의합니다. 제 질문은 스테이징 환경에 실제 클라이언트 신상 정보가 있는 것에 대해 우려를 표하던 한 클라이언트 때문에 나온 것이었습니다.

이상적으로는 이름과 이메일 주소를 뒤섞되, 나머지는 그대로 유지하는 스크립트가 있으면 좋겠습니다.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [5월 20, 2022, 3:14오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/15 "2022-05-20T15:14:03Z")

</div>

꽤 단순한 대화처럼 들립니다. 대표 사본이 없다면, 스테이징 사이트도 없는 것입니다.

라이브 환경과 동일한 방식으로 배포되고 보안이 설정되어 있다면, 그들이 인식하는 리스크는 무엇일까요?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5월 20, 2022, 3:16오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/16 "2022-05-20T15:16:44Z")

</div>

스티븐의 의견에 동의합니다. 스테이징 사이트에 실제 데이터를 올려놓는 것이 더 불안한가요, 아니면 실제 데이터를 제대로 테스트하는 스테이징 사이트가 아예 없는 것이 더 불안한가요?

프로덕션의 실제 라이브 데이터로 테스트하지 않는다면, 라이브 데이터를 실제로 사용했을 때 어떤 일이 벌어질지 알 수 없습니다.

그리고 이 토론은 원포스터(OP)의 주제에서 너무 벗어나고 있네요. 🙂

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5월 20, 2022, 4:09오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/17 "2022-05-20T16:09:36Z")

</div>

30일 후 게시물을 삭제하도록 설정하는 것이 좋다고 생각합니다. 이 내용을 원문에 추가했습니다. 가짜 데이터가 유용한 경우가 있습니다. 우리 중 더 신경質な 사람들(나를 포함해서)은 실제 데이터로 테스트되지 않은 스테이징 서버를 신뢰하지 않는 데 현실적인 이유가 있습니다.

> [@nathankershaw](#):
>
> #### 테스트 서버 시딩
> 
> 스테이징 서버가 필요하다면, 실제 포럼의 실제 데이터를 넣어야 합니다. 때로는 특정 데이터가 문제를 일으키는 원인이 될 수 있으며, 다른 데이터 세트로 포럼을 테스트하면 잘못된 희망을 가질 수 있습니다.
> 
> 하지만 Discourse가 어떤지 확인하기 위한 테스트 서버가 필요하다면, 가짜 데이터로 확인해 보는 것이 좋습니다. 그렇게 하려면 다음을 수행할 수 있습니다:
> 
> ```plaintext
> cd /var/discourse
> ./launcher enter app
> cd /var/www/discourse
> ALLOW_DEV_POPULATE=1 bundle install
> ALLOW_DEV_POPULATE=1 rake dev:populate
> exit
> exit
> 
> ```
> 
> 이것은 원하는 테마와 플러그인으로 무엇이 어떻게 보이는지 확인할 수 있도록 포럼에 가짜 데이터를 시딩합니다. 아직 포럼을 시작하지 않았다면, 이것이 앞으로 어떻게 보일지 대략적인 아이디어를 줄 수 있습니다.

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [6월 1, 2022, 9:58오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/18 "2022-06-01T21:58:40Z")

</div>

사이트에 2FA를 구현한 후 몇 가지 문제가 발생하여 다음 내용을 추가했습니다:

> [@nathankershaw](#):
>
> #### 2단계 인증 관리
> 
> 메인 사이트의 계정 사용자 이름/비밀번호는 스테이징 사이트에서도 정상적으로 작동하지만, 2FA를 사용할 때는 상황이 좀 더 복잡합니다. 문제가 발생하면 2FA를 끄세요:
> 
> ```plaintext
> ./launcher enter app
> rake users:disable_2fa[<USERNAME>]
> 
> ```

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [5월 16, 2023, 2:19오전 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/19 "2023-05-16T02:19:16Z")

</div>

와 – 정말 대단했어! 빠다빙-빠다부밍!

그 더미 데이터를 가져온 뒤로 너무 생산적이었던 것 같아… 갑자기 테스트 포럼에 사용자, 게시글, 태그, 카테고리, 그룹이 자동적으로 가득 차 있잖아… 어머나!

@nathank, @pfaffman, @merefield, @JammyDodger, @Stephen 정말 감사해… 어머나!

![Happy So Excited GIF](https://global.discourse-cdn.com/meta/original/4X/5/6/f/56f34d2100fdb8451c62526e703e7c58a7313da7.webp)

---

<div class="post-metadata">

### Author: ![thoka](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thoka/32/115652_2.png) [@thoka](https://meta.discourse.org/u/thoka)
#### Post date: [7월 16, 2023, 12:18오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/20 "2023-07-16T12:18:54Z")

</div>

명령줄을 통해 팝 폴링을 비활성화하는 방법에 대한 추천을 보고 싶습니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [7월 16, 2023, 1:53오후 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/21 "2023-07-16T13:53:26Z")

</div>

가장 좋은 방법은 환경 변수 `DISCOURSE_pop3_polling_enabled=false`를 설정하는 것입니다.

변수 이름을 모두 대문자로 변경해야 하는데, 저는 휴대폰으로 이를 수행할 수 없습니다.

---

<div class="post-metadata">

### Author: ![Octoberon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/octoberon/32/288382_2.png) [@Octoberon](https://meta.discourse.org/u/Octoberon)
#### Post date: [9월 9, 2023, 8:41오전 UTC](https://meta.discourse.org/t/set-up-a-staging-server/225951/22 "2023-09-09T08:41:04Z")

</div>

최근 프로덕션 포럼을 S3와 CloudFront로 마이그레이션했습니다. 스테이징 서버는 이미 운영 중이지만, 프로덕션과 S3와 동기화가 안 되고 있습니다. 별도 버킷과 CDN 연결이 필요한지 확신이 서지 않아서 그렇습니다. 스테이징 서버 때문에 AWS 비용을 추가로 내고 싶지는 않습니다. 두 서버를 같은 S3 버킷으로 설정하는 것은 권장되지 않는 것 같습니다. 이 문제를 올바르게 해결하는 방법은 무엇인가요?

[Next page](https://meta.discourse.org/t/set-up-a-staging-server/225951.md?page=2)
