@merefield 이것 때문에 걱정해야 하나요?
네, 그래야 합니다.
redis-cli ping의 출력은 무엇인가요?
내일 다시 알려드릴게요 (오늘 좀 바빠서)
출력값이 PONG입니다.
@merefield 이거 아무 문제없다는 뜻이겠죠? 그럼 왜 타임아웃이 나는 걸까요?
말씀하신 버전으로 Docker를 다운그레이드하라는 건가요?
음… 알겠습니다. 다만 문제가 하나 있습니다. 저는 Docker를 사용하지 않고 있어요. 그럼 결국 이 가이드를 따라야겠네요…
그럼 그렇지!
그건 잘못된 조언이었어요. 삭제했습니다.
응답을 보면 Redis가 응답을 주고 실행 중인 것 같습니다.
Redis가 Discourse가 기대하는 클래식 포트 번호로 실행되고 있나요?
lsof -wni | grep redis를 시도해 보세요.
포트 6379여야 한다고 생각합니다.
실행하면 아무 일도 일어나지 않습니다.
natedhaliwal@raspberrypi:~ $ lsof -wni | grep redis
natedhaliwal@raspberrypi:~ $ cd discourse-f
natedhaliwal@raspberrypi:~/discourse-f $ lsof -wni | grep redis
natedhaliwal@raspberrypi:~/discourse-f $
디렉토리에 의존하지 않습니다.
다음 명령어를 시도해 보세요:
sudo lsof -wni | grep redis
이 명령어는 redis 서비스를 반환해야 합니다. 그렇지 않다면, 어떤 이유로든 서비스가 실행되지 않는 것이므로 원인을 조사해야 합니다.
이것을 실행한 후에도 여전히 타임아웃 오류가 발생합니다. 매우 이상하네요. 제 ISP가 이를 차단하고 있는 걸까요?
해결책이 아니라 진단입니다. 해당 명령어의 결과는 무엇이었나요?
다음과 같은 형태로 보일 것입니다:
robert@raspberrypi:~/discourse $ sudo lsof -wni | grep redis
redis-ser 890 redis 6u IPv4 4052 0t0 TCP 127.0.0.1:redis (LISTEN)
또는 이것도 시도해 보세요:
robert@raspberrypi:~/discourse $ ps -A | grep redis
890 ? 00:00:05 redis-server
@merefield 이렇게 확인했습니다:
natedhaliwal@raspberrypi:~/discourse-f $ sudo lsof -wni | grep redis
redis-ser 750 redis 8u IPv4 16886 0t0 TCP 127.0.0.1:redis (LISTEN)
natedhaliwal@raspberrypi:~/discourse-f $ ps -A | grep redis
750 ? 00:00:01 redis-server
9449 ? 00:00:00 redis-server
그렇게 보이면 안 되는데 - redis 프로세스가 두 개 실행되고 있군요?
두 번째 프로세스를 종료하는 것이 좋겠습니다.
redis-cli에서 shutdown 명령을 사용하고, 다시 데이터베이스를 생성하고 마이그레이션하는 건가요?
아니면 client kill을 사용하는 건가요?
아니요, 두 번째 프로세스만 종료하세요
kill -9 <process-id>
이 경우 프로세스 ID는 9449일 것 같습니다.
음…
-bash: kill: (9449) - 작업이 허용되지 않음
sudo를 사용하세요 …
이것은 오류일까요?
natedhaliwal@raspberrypi:~/discourse-f $ RAILS_ENV=test bin/rails db:create db:migrate
Database 'discourse_test' already exists
Database 'discourse_test_multisite' already exists
/home/natedhaliwal/discourse-f/app/models/post_action_type.rb:16:in `expire_cache'
/home/natedhaliwal/discourse-f/app/models/post_action_type.rb:42:in `reload_types'
/home/natedhaliwal/discourse-f/app/models/flag.rb:37:in `reset_flag_settings!'
(eval):78:in `block (2 levels) in run_file'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:46:in `eval'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:46:in `block (2 levels) in run_file'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:58:in `block in open'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:57:in `open'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:57:in `open'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:36:in `block in run_file'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activesupport-7.1.4.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/transactions.rb:212:in `transaction'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:35:in `run_file'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:26:in `block in run'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:25:in `each'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:25:in `run'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/discourse-seed-fu.rb:29:in `seed'
/home/natedhaliwal/discourse-f/lib/tasks/db.rake:264:in `block (2 levels) in <main>'
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:53:in `block in synchronize'
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:49:in `synchronize'
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:49:in `synchronize'
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:34:in `synchronize'
/home/natedhaliwal/discourse-f/lib/tasks/db.rake:234:in `block in <main>'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `block in execute'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:147:in `run_with_threads'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:27:in `block (2 levels) in perform'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:27:in `block in perform'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:44:in `block in with_rake'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/rake_module.rb:59:in `with_application'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:41:in `with_rake'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:156:in `invoke_rake'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:73:in `block in invoke'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:149:in `with_argv'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:69:in `invoke'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands.rb:18:in `<main>'
<internal:/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
왜 디스코urs 디렉터리 이름이 discourse-f인가요?
이미 discourse라는 이름의 폴더가 존재하고, 그 안에 이미 가득 차서 클론할 수 없다는 메시지가 표시되는 postgres 폴더가 포함되어 있었습니다. 그래서 새 폴더로 클론을 진행했습니다.
방금 해당 폴더를 sudo rm -rf로 삭제했습니다(rm -rf를 시도했지만 권한이 거부되었다는 메시지가 떴기 때문에, 여기에서 사용한 것과 동일한 방법으로 sudo를 적용했습니다).
이것이 설치에 영향을 미치나요?