在 OVH VPS Ubuntu 22.04 上安装 Discourse 的问题

仅当它由 systemd 管理时才为真,但情况并非总是如此。我见过太多这样的情况:某个随机包安装了它,禁用了服务,然后根据需要启动和停止它。

我还见过至少有一个包过去安装了一个 .service 文件,即使 nginx 实际上没有安装。

这两种方法都会愉快地告诉你状态是禁用的。apt 方法保证,如果它实际上已安装,你就会知道,除非它是从源代码编译的,如果是那样,我们可能就不会进行这次对话了。 :slight_smile:

你好 @Claudia 感谢你的帮助。
结果是

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

elpa-nginx-mode/jammy 1.1.9-2 all
golang-github-nginxinc-nginx-plus-go-client-dev/jammy 0.9.0-2 all
kopano-webapp-nginx/jammy 3.5.14+dfsg1.orig-1 all
libnginx-mod-http-auth-pam/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-cache-purge/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-dav-ext/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-echo/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-fancyindex/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-geoip2/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-geoip/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-headers-more-filter/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-image-filter/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-ndk/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-perl/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-subs-filter/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-uploadprogress/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-upstream-fair/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-http-xslt-filter/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-mail/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-nchan/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-rtmp/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-stream-geoip2/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-stream-geoip/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
libnginx-mod-stream/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
lua-nginx-cookie/jammy 0.1.0-1.1 all
lua-nginx-dns/jammy 0.20-1 all
lua-nginx-kafka/jammy 0.07-1 all
lua-nginx-memcached/jammy 0.14-1.1 all
lua-nginx-redis-connector/jammy 0.06-1 all
lua-nginx-redis/jammy 0.27-1.1 all
lua-nginx-string/jammy 0.11-1 all
lua-nginx-websocket/jammy 0.08-1 all
nginx-common/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 all
nginx-confgen/jammy 2.0-1 amd64
nginx-core/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
nginx-doc/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 all
nginx-extras/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
nginx-full/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
nginx-light/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
nginx/jammy-updates,jammy-security 1.18.0-6ubuntu14.3 amd64
prometheus-nginx-exporter/jammy 0.10.0-1 amd64
python3-certbot-nginx/jammy 1.21.0-1 all

你好 @Jagster

当我执行 systemctl status ngin 时
结果是:找不到单元 ngin.service。

您已安装完整的nginx。我还看到一些需要它的Web应用程序,例如Kopano。

是否还有其他人可以访问您的VPS?

2 个赞

@xiaokong23357 我在 app.yml 文件中进行了此操作
expose:

  • “80:80” # http
  • “9090:80” # http" 确保 nginx 可以代理到 discourse
  • “443:443” # https

执行 ./launcher rebuild app 后

浏览器上始终显示相同的消息:

欢迎使用 nginx!

如果您看到此页面,则表示 nginx Web 服务器已成功安装并正在运行。需要进一步的配置。

有关在线文档和支持,请参阅 nginx.org
商业支持可在 nginx.com 获取。

感谢您使用 nginx。

@Claudia
不,只有我和VPS提供商OVH。

如果我已经安装了完整的 nginx,为什么当我运行 systemctl status ngin 时
结果是:找不到 Unit nginx.service。

或者它是已安装但未运行。

您可以删除未使用的端口 80,以防止 discourse 和 nginx 之间的冲突。

您没有将 Nginx 配置为反向代理。另外,您现在将两个端口都重定向到了 80。您必须只使用其中一个,而不是两个。由于您没有使用 Nginx,因此您没有将虚拟主机代理到 9090 端口或任何其他端口,您必须注释掉它。

您是否通过 docker 安装了其他东西?因为现在听起来有点像您的 docker 中的 Nginx 可以工作,但 Discourse 本身却无法访问。

这是全新安装的,对吗?我建议您丢弃整个 VPS 并重新开始。

2 个赞

我会启动一个新的虚拟机并重新开始,但无论如何,你可以尝试删除 Nginx。

apt remove nginx

你需要让 discourse 保持对端口 80 的访问权限。

很有可能你已经达到了 Let’s Encrypt 的速率限制。你可能需要使用一个不同的子域名或等待一周。

2 个赞

你好
我没有找到解决方案,所以我决定更换托管提供商。
感谢大家的支持。

1 个赞