@merefield 我应该担心这些吗?
是的,你应该这样做。
redis-cli ping 的输出是什么?
我明天再回复你(今天有点忙)
它输出 PONG。
@merefield 我认为这意味着它没问题?有什么关于为什么它会超时然后又好的想法吗?
您是建议我将 Docker 降级到提到的版本吗?
嗯……好的。只有一个问题:我没有使用 Docker。看来我只能遵循本指南了……
当然不是!
那是错误的建议,已删除。
从你的回复来看,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 <进程 ID>
在这种情况下,我认为进程 ID 是 9449。
嗯……
-bash: kill: (9449) - Operation not permitted
使用 sudo …
WOuld this be an error?
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>'
为什么您的 discourse 目录叫做 discourse-f?
因为已经有一个名为 discourse 的文件夹,其中包含一个 postgres 文件夹,该文件夹显示由于已满而无法克隆。因此,我将其克隆到一个新文件夹中。
我刚刚设法 sudo rm -rf 了那个文件夹(我尝试过 rm -rf 但它显示权限被拒绝,所以我采用了此处的相同策略并使用了 sudo)。
这会影响安装吗?