我已在 CentOS 7.7 上按照“使用 Docker 安装 Discourse 开发版入门指南/102009”安装了 Discourse 开发版本。
设置步骤如下:
- 从 discourse.git 获取源代码
- 在 config/discourse_default.conf 中修改邮件发送相关配置
- 执行 ./d/boot-env --init
- 执行 ./d/unicorn
主机名已设置为一个 IP 地址,例如:10.201.0.115
我可以通过 10.201.0.115:9292 访问 Discourse,但所有图片都无法显示。
加载资源失败:net::ERR_CONNECTION_REFUSED,来源为 http://localhost:9292/images/discourse-logo-sketch.png
但我可以通过 http://10.201.0.115:9292/images/discourse-logo-sketch.png 成功获取该 PNG 图片。
此外,回复按钮的图标也无法加载。
我知道问题在于 URL 必须使用 IP 地址 10.201.0.115,而不是 localhost。
我需要配置什么?关于 IP 的设置。
感谢任何提供帮助的朋友。
pfaffman
(Jay Pfaffman)
3
我的解决方案是使用 localhost 的 3000 端口。这就是我的建议。
非常感谢。
您的意思是您的网站尚未向其他用户发布。
但我们公司使用 Discourse,公司内部局域网的用户可以访问该网站。
在这种情况下我该如何操作?
@pfaffman
你的意思是:我只需要在 app.yml 中配置 DISCOURSE_HOSTNAME=localhost 吗?
还有其他需要配置的吗?
能否提供一个正确的配置示例?
Falco
(Falco)
6
你安装的是开发版本,这是用于修改 Discourse 源代码的本地安装版本,并不适合多人实际使用该软件。
如果你想要使用 Discourse,请遵循 Discourse 官方标准安装指南。
好的,非常感谢!
但我根据您提供的地址安装了另一个版本,使用的是 discourse_docker.git 而不是 discourse.git。
我们的情况是:80 端口已被其他网站占用,无法使用,因此必须改用其他端口。
我们将端口改为 28080,Discourse 的主网站可以正常访问。
但现在遇到了新问题:图标或 PNG 图片的地址没有采用新端口 28080,而是直接使用 IP 地址去请求 PNG 文件,导致无法访问。
正确的 PNG 图片 URL 应该是:http://10.120.0.115:28080/some.png
错误的 PNG 图片 URL 是:http://10.120.0.115/some.png
在使用非 80 端口的情况下,我该如何解决这个问题?
@Falco @pfaffman
期待你们的回复。
Falco
(Falco)
8
Discourse 必须运行在标准 Web 端口 80/443 上。如果您无法让 Discourse 直接监听这些端口,则应配置反向代理,将来自这些端口的流量重定向到 Discourse,最好使用子域名。
非常感谢!
我也使用了反向代理 Nginx,现在出现了新问题。
我直接使用 docker run 启动:
/usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=8 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET= -e DISCOURSE_DB_HOST=10.201.0.116 -e DISCOURSE_DB_PORT=5432 -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_HOSTNAME=10.201.0.115 -e DISCOURSE_DEVELOPER_EMAILS=sheoixoet@gmail.com -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=sheoixoet -e DISCOURSE_SMTP_PASSWORD=wpjedgfoiibrbffe -e DISCOURSE_SMTP_ENABLE_START_TLS=true -e DISCOURSE_SMTP_AUTHENTICATION=login -e DISCOURSE_SMTP_OPENSSL_VERIFY_MODE=none -e DISCOURSE_DB_NAME=discourse -e DISCOURSE_DB_USERNAME=postgres -e DISCOURSE_DB_PASSWORD=wetrwet@26 -h wetwrigp93-app --name app -t -p 28080:80 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:3a:0a:b4:ce:e9 --privileged local_discourse/app /sbin/boot
问题是:
浏览器状态显示为 blocked(csp)?
我该怎么办?
谢谢。
shantaram
(shantaram)
10
pfaffman
(Jay Pfaffman)
11
我很乐意提供帮助。请访问 Redirecting…
但我相当确定您之前已经被告知无法使用非标准端口。
非常感谢!正如您所说,我们必须使用 80 端口,我们只能这样做。
riking
(Kane York)
13
同样,你需要一个域名,即使该域名指向 10.202.63.38。我相信 Jay 可以帮忙设置好;你可能需要和企业 IT 部门沟通一下 