몇 달 전에 표준 설치를 사용했습니다. nginx 리버스 프록시를 사용 중이며, 8월부터 문제없이 작동해 왔습니다.
discourse-setup을 실행하지 않았습니다. (한 번은 5초 정도 방치해 두고 실행이 시작되었지만, 즉시 종료하고 스냅샷에서 복원했습니다.) ./launcher rebuild app은 실행했습니다.
네: “로그인 시 즉시 자동으로 실행됩니까?” 로그인 후 sudo su로 루트 권한을 얻으면 자동으로 실행됩니다.
Digital Ocean을 사용하지 않습니다.
방금 루트의 .bashrc 파일을 확인해 보니, 마지막 줄이 다음과 같습니다:
/opt/hostinger/scripts/discourse_conf.sh
이것이 무엇을 하는지 확인해 보겠습니다. 처음부터 있었던 것이 아니라면, 제가 직접 추가한 것이 아님을 알아주시기 바랍니다.
#!/bin/bash
clear
cd /var/discourse
if ./discourse-setup; then
clear
echo "Discourse is now installed. Log into your admin account in a browser to continue"
echo "configuring Discourse."
cp -f /etc/skel/.bashrc /root/.bashrc
else
echo ""
echo "-----------------------------------------------------------------------------"
echo "The setup script failed with the provided Discourse details."
echo "It will rerun. Please address the above issues."
echo "-----------------------------------------------------------------------------"
echo "When you are ready, press Enter"
echo "To cancel setup, press Ctrl+C and this script will be rerun on your next login"
read wait
fi
Hostinger가 VM을 호스팅하고 있습니다. 해당 줄을 제거하고 다시 로그인 및 su를 시도해 보겠습니다. .bashrc 파일에 어떻게 들어갔는지 전혀 모르겠으며, 분명히 제가 수동으로 추가한 것이 아닙니다.
네, 그로 인해 문제가 해결되었습니다. rc 파일이 그렇게 수정될 수 있다는 생각조차 하지 못했기 때문에 확인해 보라는 생각도 하지 못했습니다. 도움을 주셔서 감사합니다, 정말 고맙습니다!
bashrc에서 해당 줄을 주석 처리한 후:
cd /var/discourse
if ./discourse-setup; then echo 'found it'; else echo 'not found'; fi
다음과 같이 반환됩니다: not found
제 입장에선, 왜 처음부터 발견된 적이 있는지도 이상합니다.
그러나 지금(약 15분 후) ls -al ./discourse-setup을 실행하면 -rwxr-xr-x 1 root root 28715 Dec 23 23:24 ./discourse-setup이 반환됩니다.
지금 if ./discourse-setup; then echo 'found it'; else echo 'not found'; fi를 실행하면 이전에 겪었던 문제가 발생합니다: ...Stopping existing container in 5 seconds or Control-C to cancel
주석을 제거하고 다시 로그인한 후 sudo su를 실행하니 설치 프로세스를 시작하려 했지만, discourse-setup 스크립트가 생성되지 않았습니다. 그러면 discourse-setup은 어떻게 생성되는 것일까요?
discourse-setup 스크립트는 어떻게 생성되며, 수동으로 삭제할 수 있습니까? 이름을 변경하면, 루트 .bashrc에 /opt/hostinger/scripts/discourse_conf.sh 줄이 있든 없든 로그인 시 재생성되는 것을 볼 수 없습니다.
참고로, 저는 다음을 본 적이 없습니다:
echo "The setup script failed with the provided Discourse details."
echo "It will rerun. Please address the above issues."
화면이 클리어되고, 제가 본 유일한 코멘트는 다음과 같았습니다:
The configuration file containers/app.yml already exists!
Saving old file as app.yml.2024-12-25-193919.bak
Stopping existing container in 5 seconds or Control-C to cancel.
diff ./.bashrc /etc/skel/.bashrc
118d117
< # /opt/hostinger/scripts/discourse_conf.sh
해당 줄이 .bashrc 파일에 어떻게 들어갔는지 모르겠고, 문제가 발생했을 때 본 텍스트는 /opt/hostinger/scripts/discourse_conf.sh 파일에 설명된 내용과 다르지만, 문제는 사라진 것 같습니다.
또한, 이제 ./launcher rebuild app을 실행하거나 VM을 재부팅하면, 웹사이트에 너무 빨리 액세스하려고 하면 502 오류가 발생한다는 점도 주목했습니다. 웹사이트가 사용 가능해지려면 약 1분이 걸립니다. 과거에는 그렇지 않았던 것으로 기억하지만, 웹사이트에 즉시 액세스해 본 적이 없을 수도 있습니다. 이에 대해 어떤 생각이 있으신가요?