您好
我正在安装一个新的 Discourse 实例,并尝试将其安装到域的根目录(我已阅读 Configure your hosted Discourse site to run at the root or apex domain (e.g. example.com) 并能满足要求)。第一次我犯了一个错误,我注意到如果你给 discourse-setup 脚本提供一个根域,NGinx 最终会在 docker 之外运行 - 很容易测试和复制
我启动了一个新的 VM 实例,并确认 nginx 未安装且端口 80 未打开
运行 discourse-setup 脚本并向脚本提供了一个根域
脚本运行完成
Nginx 在 docker 之外运行(通过 ps -ax 确认)并占用端口 80;浏览到该域会显示欢迎使用 nginx 屏幕
我搜索了这个问题,没有找到其他报告,尽管我看到一些人发现 nginx 在 docker 之外运行,这可能是原因
我意识到这是我的错——不过也许脚本不应该允许提供根域?
这在技术上是不可能的。我敢肯定,您的虚拟机可能预装了 nginx。一些云提供商会在其标准映像中捆绑 Web 服务器(apache2 或 nginx)。
1 个赞
您好!干杯;是的,我也这么认为,所以我配置了一个全新的虚拟机,在运行 discourse-setup 之前测试以确保 Nginx 未安装;在 Nginx 运行后立即出现所述问题。
我有几次安装经验,并且每次都遵循了完全相同的过程,它们都按预期工作;这是我第一次尝试安装到域的根目录(因此向设置脚本提供 example.com ),并遇到了此问题。虚拟机、操作系统等都相同。
我将再次测试并获取更多日志。
我今天早上在根域上安装了 discourse 来试用,并且运行正常。 (Digital Ocean, 2GB 内存)
1 个赞
RGJ
(Richard - Communiteq)
2022 年2 月 7 日 11:43
5
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 个赞