# Discourse installation on Azure not reachable

**URL:** https://meta.discourse.org/t/discourse-installation-on-azure-not-reachable/36880
**Category:** Self-hosting
**Created:** [12월 18, 2015, 7:14오전 UTC](https://meta.discourse.org/t/discourse-installation-on-azure-not-reachable/36880 "2015-12-18T07:14:07Z")
**Posts on this page:** 1
**Showing post:** 9

<div class="post-metadata">

### Author: ![toraritte](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/toraritte/32/266434_2.png) [@toraritte](https://meta.discourse.org/u/toraritte)
#### Post date: [8월 14, 2021, 1:36오전 UTC](https://meta.discourse.org/t/discourse-installation-on-azure-not-reachable/36880/9 "2021-08-14T01:36:17Z")

</div>

이 주제를 다시 올리는 게 부담스럽지만, 여전히 관련이 있는 문제입니다. Discourse 설치 자체는 완벽하게 잘 되고, 모든 것이 정상적으로 보이지만, 80번과 443번 포트가 외부에서 접근할 수 없습니다.

* * *

**업데이트** : [기본 설치](https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md)는 Azure의 Ubuntu Server에서 바로 잘 작동합니다.

두 번째 시도에서 다르게 진행한 사항은 다음과 같습니다:

1. **VM 생성 후 `discourse-setup`를 호출한 뒤, 프로세스를 중단하지 않았습니다.** 그래서 모든 작업이 한 번에 실행되었습니다.

2. [이 meta.discourse 스레드](https://meta.discourse.org/t/how-to-setup-discourse-on-azure/89550)에 따라 **수동으로 스왑 공간을 설정했습니다**.

첫 번째 인스턴스를 구할 수도 있었겠지만, Discourse의 아키텍처는 여전히 저에게 미스터리이며, HTTP/HTTPS 엔드포인트를 어떻게 재시작해야 하는지 확신이 서지 않습니다. `netstat -tulpn` 출력을 비교해 보면, 첫 번째 인스턴스에서는 모든 관련 서비스가 실행 중이고 올바른 포트(예: PostgreSQL은 5432, Redis는 6379 등)에서 리스닝하는 것으로 보이지만, 누락된 항목은 80번과 443번 포트 두 개뿐입니다(nginx가 실행되지 않았음을 시사합니다):

1차 (실패한) 인스턴스:

```plaintext
$ sudo -s

# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
62396a99737c local_discourse/app "/sbin/boot" 14 hours ago Up 14 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp app

# docker exec -it 62396a99737c bash

(docker)# netstat -tulpn
Active Internet connections (only servers)
Proto Local Address Foreign Address State PID/Program name
tcp 127.0.0.1:3000 0.0.0.0:* LISTEN -
tcp 0.0.0.0:5432 0.0.0.0:* LISTEN -
tcp 0.0.0.0:6379 0.0.0.0:* LISTEN -
tcp6 :::5432 :::* LISTEN -
tcp6 :::6379 :::* LISTEN -

```

두 번째 인스턴스:

```plaintext
(docker)# netstat -tulpn
Active Internet connections (only servers)
Proto Local Address Foreign Address State PID/Program name
tcp 0.0.0.0:6379 0.0.0.0:* LISTEN -
tcp 0.0.0.0:80 0.0.0.0:* LISTEN 2359/nginx: master
tcp 127.0.0.1:3000 0.0.0.0:* LISTEN -
tcp 0.0.0.0:5432 0.0.0.0:* LISTEN -
tcp 0.0.0.0:443 0.0.0.0:* LISTEN 2359/nginx: master
tcp6 :::6379 :::* LISTEN -
tcp6 :::5432 :::* LISTEN -

```

나중에 참고할 메모 몇 가지:

1. 처음에는 80번과 443번 리스닝 포트가 없다는 것을 눈치챘지만, `127.0.0.1:3000` 소켓(기본 Rails 포트라고 기억하고 있었습니다)을 확인했습니다. 그때는 아직 nginx가 실행되지 않았을 수도 있다는 생각이 들지 않았고, 어떤 이유에서인지 여전히 Docker 포트 매핑이 원인이라고 의심하여 netcat으로 기본적인 리다이렉트를 수행했습니다:

2. 또한 `nc -zv`가 계속 `Connection refused`를 반환했기 때문에 [Azure 인바운드 포트 규칙](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/nsg-quickstart-portal)이 의심스러웠지만, 이는 **포트는 열려 있지만 반대편에서 리스닝하는 프로세스가 없다는 의미** 일 뿐이라는 것을 나중에 깨달았습니다. (포트가 차단되어 있었다면 `nc`가 단순히 멈춰 있었을 것입니다.)

---

_[View the full topic](https://meta.discourse.org/t/discourse-installation-on-azure-not-reachable/36880)._
