升级到3.4后无法连接到Web服务器

我刚使用 ./launcher rebuild app 更新了,现在无法访问网站。Postgres 升级或重建过程中没有出现任何错误。这是 discourse doctor 的输出。

DISCOURSE DOCTOR Tue Feb 4 10:56:05 PM UTC 2025
OS: Linux redacted 6.8.0-52-generic #53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux


Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=redacted.tld
SMTP_ADDRESS=cp120.redacted.net
DEVELOPER_EMAILS=host@redacted.tld
SMTP_PASSWORD=redacted
SMTP_PORT=587
SMTP_USER_NAME=record@redacted.tld
LETSENCRYPT_ACCOUNT_EMAIL=host@redacted.tld

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 26.1.3, build 26.1.3-0ubuntu1~24.04.1

DOCKER PROCESSES (docker ps -a)

CONTAINER ID   IMAGE                 COMMAND        CREATED          STATUS          PORTS                                                                      NAMES
26b5f30922a1   local_discourse/app   “/sbin/boot”   14 minutes ago   Up 12 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

26b5f30922a1   local_discourse/app   “/sbin/boot”   14 minutes ago   Up 12 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

Discourse container app is running


==================== PLUGINS ====================
          - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-data-explorer.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-affiliate.git
##          - sudo -E -u discourse git clone https://github.com/paviliondev/discourse-locations.git
##          - sudo -E -u discourse git clone https://github.com/paviliondev/discourse-events.git
##          - sudo -E -u discourse git clone https://github.com/paviliondev/discourse-custom-wizard.git
##          - sudo -E -u discourse git clone https://github.com/gdpelican/mingle.git
##          - sudo -E -u discourse git clone https://github.com/synweap15/discourse-voice-record.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-docs.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-calendar.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-adplugin.git

WARNING:
You have what appear to be non-official plugins.
If you are having trouble, you should disable them and try rebuilding again.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

========================================
Discourse version at redacted.tld: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
RAM (MB): 4005

               total        used        free      shared  buff/cache   available
Mem:            3820        1257        1137          52        1788        2562
Swap:           2047          75        1972

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        38G  6.0G   30G  17% /
/dev/sdb         25G   11G   13G  46% /var/discourse
/dev/sdb         25G   11G   13G  46% /var/lib/docker

==================== DISK INFORMATION ====================
Disk /dev/sda: 38.15 GiB, 40961572864 bytes, 80003072 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4F4C86C1-C38F-4B0C-BA8A-01C10D997AE4

Device      Start      End  Sectors  Size Type
/dev/sda1  528384 80003038 79474655 37.9G Linux filesystem
/dev/sda14   2048     4095     2048    1M BIOS boot
/dev/sda15   4096   528383   524288  256M EFI System

Partition table entries are not in disk order.


Disk /dev/sdb: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Volume
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

==================== END DISK INFORMATION ====================

==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [host@redacted.tld]:
Sending mail to host@redacted.tld. . .
Testing sending to host@redacted.tld using cp120.redacted.net:587, username:record@redacted.tld with plain auth.
SMTP server connection successful.
Sending to host@redacted.tld. . .
Mail accepted by SMTP server.
Message-ID: a9640924-a68b-4e5e-a769-3110de133c08@redacted.tld

If you do not receive the message, check your SPAM folder
or test again using a service like http://www.mail-tester.com/.

If the message is not delivered it is not a problem with Discourse.
Check the SMTP server logs for the above Message ID to see why it
failed to deliver the message.
Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to

==================== DONE! ====================

有什么可能的原因吗?

1 个赞

在过去大约两个小时内,您尝试过重建吗?我们之前遇到过一个问题,但现在已经解决了

2 个赞

是的,过去一小时内已重建两次

2 个赞

您在访问网站时看到什么错误?

“Safari 无法连接到服务器”

1 个赞

在您的服务器上,请尝试运行

cd /var/discourse
git rev-parse HEAD

它应该显示

# git rev-parse HEAD
efd6bc8ccbd9057c04d909ff48ecf8b704cae3ff

是的,它做到了

您的安装有什么“不寻常”之处吗?您在标准安装的基础上有所偏离吗?

您描述的问题听起来与我链接的主题中的问题非常相似。但如果您看到的是 discourse_docker 版本的 efd6bc8...,那么您应该已经修复了 :thinking:

1 个赞

我想不到还有什么了,除非我从 fstab 中的磁盘挂载了 /var/discourse。但它已经这样运行很多年了。

好吧,谢谢你的帮助。如果还有其他想法,请告诉我。

1 个赞

为了检查同样的问题是否影响到您,您可以这样做:

./launcher enter app
cat /etc/nginx/conf.d/discourse.conf

该文件中的某个位置应该有:

listen 443 ssl;

如果缺少这一行,那么症状就与其他主题相同。

如果存在……那么恐怕我们需要找出完全不同的问题了 :sweat_smile:

1 个赞

是的,那里有

2 个赞

我又看了一下,在又一次重建后立即运行了 docker logs app。有人能帮我弄明白这是怎么回事吗?

run-parts: executing /etc/runit/1.d/00-ensure-links
run-parts: executing /etc/runit/1.d/00-fix-var-logs
run-parts: executing /etc/runit/1.d/01-cleanup-web-pids
run-parts: executing /etc/runit/1.d/anacron
run-parts: executing /etc/runit/1.d/cleanup-pids
Cleaning stale PID files
run-parts: executing /etc/runit/1.d/copy-env
run-parts: executing /etc/runit/1.d/letsencrypt
[Wed Feb 12 05:03:53 PM UTC 2025] Domains not changed.
[Wed Feb 12 05:03:53 PM UTC 2025] Skip, Next renewal time is: 2025-04-02T00:09:20Z
[Wed Feb 12 05:03:53 PM UTC 2025] Add '--force' to force to renew.
[Wed Feb 12 05:03:53 PM UTC 2025] Installing key to: /shared/ssl/redacteddomain.tld.key
[Wed Feb 12 05:03:53 PM UTC 2025] Installing full chain to: /shared/ssl/redacteddomain.tld.cer
[Wed Feb 12 05:03:53 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Wed Feb 12 05:03:53 PM UTC 2025] Reload error for :
[Wed Feb 12 05:03:53 PM UTC 2025] Domains not changed.
[Wed Feb 12 05:03:53 PM UTC 2025] Skip, Next renewal time is: 2025-04-02T00:09:25Z
[Wed Feb 12 05:03:54 PM UTC 2025] Add '--force' to force to renew.
[Wed Feb 12 05:03:54 PM UTC 2025] Installing key to: /shared/ssl/redacteddomain.tld_ecc.key
[Wed Feb 12 05:03:54 PM UTC 2025] Installing full chain to: /shared/ssl/redacteddomain.tld_ecc.cer
[Wed Feb 12 05:03:54 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Wed Feb 12 05:03:54 PM UTC 2025] Reload error for :
Started runsvdir, PID is 535
warning: redis: unable to open supervise/ok: file does not exist
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
nginx: [emerg] unknown "public" variable
ok: run: redis: (pid 550) 1s
ok: run: postgres: (pid 554) 1s
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
nginx: [emerg] unknown "public" variable
supervisor pid: 568 unicorn pid: 574
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
nginx: [emerg] unknown "public" variable
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
1 个赞

这似乎是由以下原因引起的:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.