更新/重建错误代码 1(3.1.0.beta4 - 3.3.0.beta3)- 与 Redis 端口 6379 相关?

大家好,这是我的第一个帖子。几年前我接手了一个 DigitalOcean/Discourse 服务器,一直维护得不好,最近重新签发了 SSL 证书并尝试更新/重建应用程序,遇到了以下错误:

I, [2024-07-04T10:58:00.012668 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-07-04T10:58:00.017822 #1]  INFO -- : > sleep 10
954:C 04 Jul 2024 10:58:00.044 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
954:C 04 Jul 2024 10:58:00.044 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=954, just started
954:C 04 Jul 2024 10:58:00.044 # Configuration loaded
954:M 04 Jul 2024 10:58:00.045 * monotonic clock: POSIX clock_gettime
954:M 04 Jul 2024 10:58:00.046 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
954:M 04 Jul 2024 10:58:00.046 # Failed listening on port 6379 (TCP), aborting.
I, [2024-07-04T10:58:10.031866 #1]  INFO -- :
I, [2024-07-04T10:58:10.032253 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::LoadError: can't activate stringio-3.1.1, already activated stringio-3.1.0 (Gem::LoadError)

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 958 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 {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
f71a114482f45f7cff5f8d045d314a0bd8d21cf3b1af7e8c2c0a7fc1722df4a5

请查看完整的日志。

我再次尝试使用“sudo”运行重建命令,因为我知道我在做什么,并且听说这可以解决任何问题……事实证明并没有。:rofl:

请尽可能简单地推荐一些我可以采取的步骤。我对所有 Linux 命令都不熟悉,对 Discourse 软件也 apenas 了解。

感谢您在此问题上的任何帮助。

插件列表:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/iunctis/discourse-formatting-toolbar.git
          - git clone https://github.com/paviliondev/discourse-locations.git
          - git clone https://github.com/paviliondev/discourse-events.git
          - git clone https://github.com/jannolii/discourse-topic-trade-buttons.git
          - git clone https://github.com/discourse/discourse-cakeday.git

我的 app.yml 文件中没有任何 MAXMIND 标签。

我首先会移除非标准的插件。

1 个赞

谢谢你,@pfaffman

在更新和升级了Ubuntu、重启服务器、运行了doctor并反复重试后,我正打算尝试这个方法,这时我看到了你确认这些怀疑的回复。

禁用了非 Discourse 插件后,重建成功。现在正在使用重新颁发的SSL证书,我可以花些时间将其配置成我们之前的样子。

感谢你的帮助,希望在不那么紧急的时候能在这里花更多时间学习。

听起来您的设置是在 Let’s Encrypt 之前安装的;无需手动管理证书。我可能会建议迁移到新的虚拟机(我打赌您的操作系统也已达到生命周期终点?)。请参阅 使用 rsync 将 Discourse 站点迁移到另一台 VPS

2 个赞

也谢谢你的建议。它被设置为自动续订配置,基于大约 5 年前的原始设置,但似乎我一直以艰难的方式维持它的运行。

我会做些研究,并将考虑你的建议。再次感谢,Jay。

1 个赞