重建时卡在这里已经有 6 分钟了
我只是想要一个快速重建而已
现在已经快 20 分钟了,如果我知道的话,我应该等到凌晨 3 点什么的。我结束了 ssh 会话,然后又重新构建了一次,我们拭目以待。
编辑:我必须运行 ./discourse-docter 或者别的什么,它就回来了,我想更新我的 app.yml,我甚至不知道它是否更新了。
好的,我稍后会在凌晨3点左右尝试。
正在确保启动器是最新版本
正在获取 origin
启动器已是最新版本
正在停止旧容器
+ /usr/bin/docker stop -t 600 app
app
2.0.20240502-0021: 正在从 discourse/base 拉取
摘要: sha256:ca10543693caa0b52f7318105dea1d47a84991e7927330db1010e13e39777ba7
状态: 镜像已是最新版本 discourse/base:2.0.20240502-0021
docker.io/discourse/base:2.0.20240502-0021
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-05-09T03:58:42.050521 #1] INFO -- : 从 stdin 读取
I, [2024-05-09T03:58:42.077104 #1] INFO -- : File > /etc/service/postgres/run chmod: +x chown:
I, [2024-05-09T03:58:42.095108 #1] INFO -- : File > /etc/service/postgres/log/run chmod: +x chown:
I, [2024-05-09T03:58:42.108229 #1] INFO -- : File > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2024-05-09T03:58:42.126445 #1] INFO -- : File > /root/install_postgres chmod: +x chown:
I, [2024-05-09T03:58:42.145105 #1] INFO -- : File > /root/upgrade_postgres chmod: +x chown:
I, [2024-05-09T03:58:42.145716 #1] INFO -- : 替换 data_directory = '/var/lib/postgresql/13/main' 为 data_directory = '/shared/postgres_data' 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.147110 #1] INFO -- : 替换 (?-mix:#?listen_addresses *=.*) 为 listen_addresses = '*' 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.150337 #1] INFO -- : 替换 (?-mix:#?synchronous_commit *=.*) 为 synchronous_commit = $db_synchronous_commit 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.180094 #1] INFO -- : 替换 (?-mix:#?shared_buffers *=.*) 为 shared_buffers = $db_shared_buffers 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.181568 #1] INFO -- : 替换 (?-mix:#?work_mem *=.*) 为 work_mem = $db_work_mem 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.182124 #1] INFO -- : 替换 (?-mix:#?default_text_search_config *=.*) 为 default_text_search_config = '$db_default_text_search_config' 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.183465 #1] INFO -- : 替换 (?-mix:#?checkpoint_segments *=.*) 为 checkpoint_segments = $db_checkpoint_segments 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.184221 #1] INFO -- : 替换 (?-mix:#?logging_collector *=.*) 为 logging_collector = $db_logging_collector 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.198484 #1] INFO -- : 替换 (?-mix:#?log_min_duration_statement *=.*) 为 log_min_duration_statement = $db_log_min_duration_statement 在 /etc/postgresql/13/main/postgresql.conf
I, [2024-05-09T03:58:42.209671 #1] INFO -- : 替换 (?-mix:^#local +replication +postgres +peer$) 为 local replication postgres peer 在 /etc/postgresql/13/main/pg_hba.conf
I, [2024-05-09T03:58:42.213239 #1] INFO -- : 替换 (?-mix:^host.*all.*all.*127.*$) 为 host all all 0.0.0.0/0 md5 在 /etc/postgresql/13/main/pg_hba.conf
I, [2024-05-09T03:58:42.218935 #1] INFO -- : 替换 (?-mix:^host.*all.*all.*::1\/128.*$) 为 host all all ::/0 md5 在 /etc/postgresql/13/main/pg_hba.conf
I, [2024-05-09T03:58:42.221346 #1] INFO -- : > [ -f /root/install_postgres ] && /root/install_postgres && rm -f /root/install_postgres
I, [2024-05-09T03:58:42.404926 #1] INFO -- : 生成 locale(这可能需要一些时间)。。。
生成完成。
postgres 正在运行,停止容器
失败
--------------------
Pups::ExecError: [ -f /root/install_postgres ] && /root/install_postgres && rm -f /root/install_postgres 在返回 #<Process::Status: pid 16 exit 1> 时失败
失败位置: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
使用参数 {"tag"=>"db", "cmd"=>"[ -f /root/install_postgres ] && /root/install_postgres && rm -f /root/install_postgres"} 执行失败
引导失败,退出代码为 1
**引导失败** 请向上滚动并查找更早的错误消息,可能不止一条。
./discourse-doctor 可能会帮助诊断问题。
902db7e2e5295f896eb00f8379d8507209ddc1844e335ecb403f0cd900502448```
请帮帮我,我甚至无法重新构建,我只想让我的 app.yml 中的更改在网站上生效,它甚至没有使用它能使用的全部内存量,我对共享缓冲区做了一些更改,并且希望它上线。现在我甚至无法重新构建,为了让网站恢复联机,我使用了 discourse doctor 或只是重新启动了旧的应用程序。
是否还有其他 PostgreSQL 实例正在(在主主机上?)运行,并且在容器尝试构建时以某种方式与之通信?
不知道,也不这么认为,因为我是在一个新服务器上设置的。我应该以某种方式停止吗?
我搜索了如何检查 PostgreSQL 是否正在运行,并运行了此命令:“service postgresql status”,返回了 Unit postgresql.service could not be found。
我甚至重启了服务器,但仍然无效。
在卡住之前的完整控制台日志
第 262 行似乎被截断了
这就是卡住的地方,如果我让它停留太久,它就会像我在之前的消息中展示的那样显示。
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"tag"=>"db", "cmd"=>"[ -f /root/install_postgres ] && /root/install_postgres && rm -f /root/install_postgres"}
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.
902db7e2e5295f896eb00f8379d8507209ddc1844e335ecb403f0cd900502448
我想避免长时间停机,所以我停止并重新启动了应用程序,也感谢您的回复,我不知道该怎么办,我需要重建应用程序。
您有多少内存+交换空间?可能不足以进行构建。
绰绰有余,40GB 内存,400GB 存储空间
![]()
它甚至没有使用多少内存,我修改了 app.yml 以占用更多内存,并添加了 25 个 UNICORN_WORKERS(12 核 CPU)
这与新错误完全相同吗?新日志似乎在这些命令运行后崩溃。
是的,当我让它在不关闭ssh会话的情况下继续运行并重新启动时,出现了那个错误,它花了大约14分钟才显示失败,然后是引导错误,我不想长时间停机。
I, [2024-05-09T16:37:04.580910 #1] INFO -- : 替换 (?-mix:^host.*all.*all.*::1\/128.*$) 为 host all all ::/0 md5 在 /etc/postgresql/13/main/pg_hba.conf
I, [2024-05-09T16:37:04.581418 #1] INFO -- : > [ -f /root/install_postgres ] && /root/install_postgres && rm -f /root/install_postgres
I, [2024-05-09T16:37:09.576908 #1] INFO -- : 生成 locales (这可能需要一些时间)...
生成完成。
I, [2024-05-09T16:37:09.577359 #1] INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2024-05-09T16:37:09.607719 #1] INFO -- : 文件 > /usr/local/bin/create_db chmod: +x chown:
I, [2024-05-09T16:37:09.635201 #1] INFO -- : 文件 > /var/lib/postgresql/take-database-backup chmod: +x chown: postgres:postgres
I, [2024-05-09T16:37:09.648537 #1] INFO -- : 文件 > /var/spool/cron/crontabs/postgres chmod: chown:
I, [2024-05-09T16:37:09.648840 #1] INFO -- : > sleep 5
2024-05-09 16:37:10.726 UTC [34] LOG: 正在启动 PostgreSQL 13.14 (Debian 13.14-1.pgdg110+2) 在 x86_64-pc-linux-gnu 上,由 gcc (Debian 10.2.1-6) 10.2.1 20210110 编译,64 位
日志文件中的第 31-41 行,看起来 PostgreSQL 已经启动了。
引导错误应该有不同的行在这里:
因为这些行似乎已成功执行。
我不知道说实话,我只是执行了重建命令,但在昨天失败后,我执行了 discourse doctor 命令让站点恢复联机。它仍然无法重建,每次都在同一行失败 I, [2024-05-09T16:37:44.902627 #1] INFO -- : \u003e cd /var/www/discourse \u0026\u0026 su discourse -c 'yarn install --frozen-lockfile \u0026\u0026 yarn cache clean'\nwarning Resolution field \"unset-value@2.0.1\" is incompatible with requested version \"unset-value@^1.0.0\"
通过将此添加到 Web 模板中,我解决了这个问题。我一开始遵循了第一个评论中的教程,但我是新手,最终自己解决了。
- exec:
cd: $home
cmd:
- "su discourse -c 'yarn config set network-timeout 600000 -g'"
- exec:
cd: $home
hook: yarn
cmd:
- |
if [ "$version" != "tests-passed" ]; then
rm -rf app/assets/javascripts/node_modules
fi
- su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
供其他遇到此问题的人参考。
另外,如何让我的 Instant 使用更多内存?即使进行了更改,现在也只使用了 4GB,这可以吗?它是否仍在被“使用”?
我也遇到了同样的问题(我也是新手),所以现在就试试你的修复方法。感谢分享。
嘿,抱歉给您添麻烦了,但我找不到任何 yarn 来运行它。它应该在哪个目录里?


