如何修改 Discourse 的域名
2021/9/8 6:08:00
本文主要是介绍如何修改 Discourse 的域名,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
如果你参考了 GitHub 上的安装指南 页面中的内容安装了一个 Discourse 实例后希望对自己安装的实例修改域名的使用手册。 如果你使用的是 Discourse 官方主机服务 的话,请参考 针对 Discourse 的云服务配置你的域名 页面中的详细内容。
假设,你现在希望修改你的 Discourse 实例的 域名从 talk.foo.com
→ talk.bar.com
。
让我们开始这个过程吧。
在 DNS 的高级设置中,设置 TTL 为 low(低)
你希望让所有人都知道你的域名被修改了,因此你可以在你的域名 DNS 中设置 TTL 时间为低,例如可以设置为 60 分钟。
这个设置的主要目的是能够让你的 DNS 修改更快的生效。互联网中 DNS 的修改是需要时间的,因为有缓存的存在。
从站点中删除所有有关老的域名配置
访问 /admin/site_settings
然后搜索所有有关老的域名的配置。
如果你的搜索中找到了一些有关老的域名的配置,请确定你将上面的配置进行修改。
在 app.yml 文件中编辑 Discourse 的配置
可选的,你可以再次运行
./discourse-setup
命令,然后通过这个命令提示的输入信息将新的域名更新到app.yml
配置文件中。
在 app.yml
文件中,编辑 hostname 的内容。
## Discourse 实例中的主机名将会被修改为如下 DISCOURSE_HOSTNAME: 'talk.bar.com'
(同时,如果你还使用了 CDN 的话,你可以在 app.yml
文件中,将有关 CDN 的配置进行注释掉。在完成修改后,再将注释取消就可以了。)
在完成上面的配置后,需要对 Discourse 进行重构:
./launcher rebuild app
当你完成上面的重构后,你的站点只能通过新的域名来访问了。
修改你的 DNS 配置
- 将老的域名的 DNS 记录删除
- 修改新域名的 DNS 记录,将记录指向到你的 Discourse 服务地址。
当完成上面的配置后,你应该是没有问题通过新修改的域名来访问你的 Discourse 站点的。
你也可以同时在站点进行重构的时候修改你的 DNS 配置信息。
校验所有功能都能够正常访问,在我们对功能进行校验的时候,我们希望先确定我们能够正常登录我们的 Discourse 系统。这个就是下面的主题需要解决的问题…
修改第三方登录
基于你如何进行登录的方式不同,你需要马上对这个进行修改,否则你在域名修改完成后就没有办法通过第三方进行登录了。
你的 Twitter, Facebook, Google, Yahoo, GitHub 社交媒体账号登录配置中同时也需要修改来让回调地址和你新修改的地址一致。
请参考官方的相关文章来进行配置和修改。
将主题中所有有关老站点的引用替换为新站点的域名
现在所有主题和帖子中有关站点主题的链接都还是老的域名的,我们现在需要修改这个,帖子中的链接指向新的域名。让我们来进行操作:
BEFORE
AFTER
./launcher enter app
然后输入并且输入下面的命令:
discourse remap talk.foo.com talk.bar.com
根据提示的内容进行修改后,再执行下面的命令:
rake posts:rebake
主题中的 remaps 现在将会使用新的域名地址替换为老的域名地址,然后我们重新生成了所有的主题,以避免有所遗漏。
至此,所有修改域名的配置都已经完成了!
(如果开始你注释掉了 CDN 的配置信息的话,不要忘记将上面的修改改回来。)
想知道 在主题中的输入对话框是如何创建的吗?
https://www.ossez.com/t/discourse/13717/2
这篇关于如何修改 Discourse 的域名的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享