여러분 안녕하세요!
이것은 제 첫 번째 게시글입니다.
저는 phpBB에서 넘어온 신규 Discourse 사용자입니다.
2주 전, Apache가 기본적으로 80번과 443번 포트를 사용하기 때문에 Nginx를 사용하여 Docker 컨테이너에서 Discourse를 설치했습니다. 설치 가이드와 Nginx 멀티사이트 구성에 나와 있는 단계를 신중하게 따랐습니다.
**저는 일주일 동안 포럼을 실행하고 사용했으며, 플랫폼에 익숙해지기 위해 가끔 로그인만 했습니다. 한 사용자에게 가입해서 테스트해 달라고 했더니, 다음 날 포럼이 충돌했습니다. 브라우저에는 "이 토론 포럼을 구동하는 소프트웨어에서 예상치 못한 문제가 발생했습니다"라는 메시지가 표시되었습니다. 문제를 해결할 수 없었기 때문에 포럼 전체를 처음부터 다시 설치한 후, 마지막으로 사용 가능한 백업에서 스레드를 복원했습니다. 이것은 지난 목요일이었습니다. 이 모든 과정을 거친 후 포럼은 다시 정상 작동했습니다. 그런데 이제 다시 502 Bad Gateway Nginx 오류와 함께 다시 작동 중입니다. 저는 곧장 재빌드 앱을 실행했고, 다시 충돌하여 다음과 같은 오류가 발생했습니다:
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 580 exit 1>.
지난주에도 이 같은 일이 반복적으로 발생하여 결국 모든 것을 처음부터 다시 설치하게 되었습니다. 아직 공개하지 않았기 때문에 포럼은 사실상 비활성 상태입니다. 활동이 없는데도 계속 충돌한다면, 더 큰 사용자 그룹에서는 어떤 일이 발생할지 두려운 마음이 듭니다. 다음 명령어를 실행해 주세요: ./launcher enter app**
**cd /var/www/discourse**
**su discourse -c 'bundle exec rake db:migrate'**
**그리고 응답에서 제 주의를 끌었던 것이 이것입니다:
connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: the database system is starting up**
Postgres를 수동으로 재시작하고 재빌드를 다시 실행해 보았지만, 프로세스가 다시 중단되며 다음과 같은 오류 메시지가 표시되었습니다:
**FAILED**
**--------------------**
**Pups::ExecError: if [ -f /root/install_postgres ]; then**
**/root/install_postgres && rm -f /root/install_postgres**
**elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then**
**socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1**
**fi**
** failed with return #<Process::Status: pid 18 exit 1>**
**Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'**
**exec failed with the params {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container exit ; 1\nfi\n"}**
**bootstrap failed with exit code 1**
오류를 식별할 만큼 경험이 많은 사용자는 아니지만, Postgres가 언젠가 깨질 것 같다는 의심을 하고 있습니다. 지난주에는 이 때문에 모든 것을 재시작하고 처음부터 다시 시작했지만, 이것이 누구에게나 흔하거나 건강한 관행이라고 생각하지는 않습니다.
Discourse는 4코어, 6GB RAM, 180GB 디스크 공간을 가진 서버에서 실행되고 있습니다. 현재 이 Discourse 설치만 실행 중이므로, 제 이해로는 하드웨어로 인한 제한은 없는 상태입니다.