安装错误:安装到根域会在容器外打开 Nginx

您好

我正在安装一个新的 Discourse 实例,并尝试将其安装到域的根目录(我已阅读 Configure your hosted Discourse site to run at the root or apex domain (e.g. example.com) 并能满足要求)。第一次我犯了一个错误,我注意到如果你给 discourse-setup 脚本提供一个根域,NGinx 最终会在 docker 之外运行 - 很容易测试和复制

  1. 我启动了一个新的 VM 实例,并确认 nginx 未安装且端口 80 未打开
  2. 运行 discourse-setup 脚本并向脚本提供了一个根域
  3. 脚本运行完成
  4. Nginx 在 docker 之外运行(通过 ps -ax 确认)并占用端口 80;浏览到该域会显示欢迎使用 nginx 屏幕

我搜索了这个问题,没有找到其他报告,尽管我看到一些人发现 nginx 在 docker 之外运行,这可能是原因

我意识到这是我的错——不过也许脚本不应该允许提供根域?

这在技术上是不可能的。我敢肯定,您的虚拟机可能预装了 nginx。一些云提供商会在其标准映像中捆绑 Web 服务器(apache2 或 nginx)。

1 个赞

您好!干杯;是的,我也这么认为,所以我配置了一个全新的虚拟机,在运行 discourse-setup 之前测试以确保 Nginx 未安装;在 Nginx 运行后立即出现所述问题。

我有几次安装经验,并且每次都遵循了完全相同的过程,它们都按预期工作;这是我第一次尝试安装到域的根目录(因此向设置脚本提供 example.com),并遇到了此问题。虚拟机、操作系统等都相同。

我将再次测试并获取更多日志。

我今天早上在根域上安装了 discourse 来试用,并且运行正常。:+1: (Digital Ocean, 2GB 内存)

1 个赞

ps -ax 也会显示 Docker 内部运行的进程。
这是容器化,不是虚拟化。

尝试在容器内部和外部运行 service nginx status

root@ip:~# service nginx status
Unit nginx.service could not be found.
root@ip:~# cd /var/discourse/
root@ip:/var/discourse# ./launcher enter app
x86_64 arch detected.
service service root@ip-app:/var/www/discourse# service nginx status
[ ok ] nginx is running.
1 个赞

好的,我会照做——由于 JavaScript heap out of memory due to Ember CLI 我现在被搁置了