Redis를 플러시하거나 업데이트하는 방식으로 이 문제를 해결할 수 있을지 궁금합니다. 지난 8개월 이상 건드리지 않았거든요. 저는 개인적으로 Redis를 다뤄본 적이 없지만, 저희의 Tests-Pass Discourse 인스턴스는 현재 이 포럼에서 권장되는 Discourse Docker가 아니라 local_discourse를 사용하여 설정되었습니다. 제가 겪고 있는 문제는 사용자에게 이메일이 전송되지 않는 것과 관련이 있습니다. 도움과 조언을 부탁드립니다!
Sidekiq이 실행되지 않고 있습니다. 이메일 전송과 같은 많은 작업은 sidekiq에 의해 비동기적으로 실행됩니다. 적어도 하나의 sidekiq 프로세스가 실행 중인지 확인하십시오.
redis 컨테이너를 재구축하거나 재시작하기 위해 launcher를 사용하는 것이 도움이 될까요?
사용법: launcher COMMAND CONFIG [–skip-prereqs] [–docker-args STRING]
명령어:
start: 컨테이너 시작/초기화
stop: 실행 중인 컨테이너 중지
restart: 컨테이너 재시작
destroy: 컨테이너 중지 및 삭제
enter: 컨테이너 내부에서 명령어를 실행하기 위해 셸 열기
logs: 컨테이너의 Docker 로그 보기
bootstrap: 템플릿을 기반으로 설정에 따라 컨테이너 부트스트랩
run: 마지막에 부트스트랩된 이미지의 컨텍스트에서 설정과 함께 지정된 명령어 실행
rebuild: 컨테이너 재구축 (기존 컨테이너 삭제, 부트스트랩, 새 컨테이너 시작)
cleanup: 24시간 이상 중지된 모든 컨테이너 삭제
start-cmd: 컨테이너 시작에 사용되는 docker 명령어 생성
옵션:
–skip-prereqs launcher 사전 요구 사항 확인 안 함
–docker-args docker 실행 시 전달할 추가 인자
–skip-mac-address MAC 주소 할당 안 함
–run-image 컨테이너 실행에 사용되는 이미지 재정의
아직은 아니지만, 마이그레이션 시간을 잡을 예정입니다. 저희 디스코urs가 거의 3년째 운영되고 있어서 불필요한 다운타임을 만들고 싶지 않거든요. 인스턴스는 전적으로 자원봉사자들에 의해 관리되고 있어서, 지난 한 달 동안 스스로 유지보수 방법을 배우고 있습니다. 빠른 리디스 수정이 도움이 된다면(해당 컨테이너는 1년 동안 손대지 않고 실행 중이었거든요) 적용하고 싶습니다.
처음부터 표준 설치를 하지 않았다면, 현재 문제를 해결할 수 있는 방법이 무엇인지 알기 어렵습니다.
새로운 VM을 설정하고 그곳에서 테스트 설치를 수행하여 정상적으로 작동하는지 확인하는 것이 좋습니다. 이전 작업을 수행할 때, 기존 포럼을 읽기 전용 모드로 설정하고 백업을 받은 후, 새 VM에 복원하고 DNS를 변경하면 거의 다운타임 없이 전환할 수 있습니다. (실제로는 DNS를 변경한 후 Let’s Encrypt 인증서를 설치하기 위해 재구축 과정을 거치므로, 약간의 다운타임이 발생할 것입니다.)
공식 Discourse Docker 이미지를 설치하는 방법에 대한 문서를 따르려다 문제가 발생했습니다. 기존 Docker 환경에서 사용하던 redis 컨테이너, mail-receiver 컨테이너, data 컨테이너가 빠져 있는 것 같다는 결론을 내렸습니다.
기존 설치 환경에는 다음 파일들이 포함되어 있었습니다: app.yml data.yml mail-receiver.yml redis.yml
이러한 멀티 컨테이너 구성은 기본 설치 지침과 다릅니다. 참고용으로 기존 /var/discourse 디렉토리의 백업은 보유하고 있습니다.
FAILED │················································································································
-------------------- │················································································································
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 645 exit 1> │················································································································
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn' │················································································································
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]} │················································································································
bbf0e57ac69f1febe2a5f149aa7e6e12541c3c23aaf199188fdf19d507254b58 │················································································································
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one. │················································································································
./discourse-doctor may help diagnose the problem.
./launcher bootstrap data 단계를 놓친 것 같습니다. ./launcher start redis
[Mon 11 May 2020 12:53:20 AM UTC] Run reload cmd: sv reload nginx │················································································································
fail: nginx: runsv not running │················································································································
[Mon 11 May 2020 12:53:20 AM UTC] Reload error for : │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Domains not changed. │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Skip, Next renewal time is: Thu 09 Jul 2020 11:33:04 PM UTC │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Add '--force' to force to renew. │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Installing key to:/shared/ssl/discuss.noisebridge.info_ecc.key │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Installing full chain to:/shared/ssl/discuss.noisebridge.info_ecc.cer │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Run reload cmd: sv reload nginx │················································································································
fail: nginx: runsv not running │················································································································
[Mon 11 May 2020 12:53:21 AM UTC] Reload error for : │················································································································
run-parts: executing /etc/runit/1.d/remove-old-socket │················································································································
Started runsvdir, PID is 626 │················································································································
ok: run: redis: (pid 636) 0s │················································································································
chgrp: invalid group: ‘syslog’ │················································································································
ok: run: postgres: (pid 639) 0s │················································································································
rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted. │················································································································
rsyslogd: activation of module imklog failed [v8.1901.0 try https://www.rsyslog.com/e/2145 ] │················································································································
supervisor pid: 640 unicorn pid: 667