话语论坛,Discourse搭建教程,超级的简单,100%部署成功!

我知道,可能discourse这个论坛,很多人搭建过,不过,可能很多小白都部署失败了(比如我),最后,琢磨了一天,整整一天,我还是搭建成功了!这里根据我的一个个人经历,把一些易错点讲的清楚,以一个过来人的经历。

易错点我会在做教程的过程中一起讲解,那么,我们就发车吧!
对了,在搭建之前,我们先简单的介绍一下discourse论坛吧

discourse论坛,我这里简称DC论坛,我个人感觉,相比同类的论坛,优秀了不止90%
为什么呢?UI简介,好看,而且,可供管理真的特别多+全开源项目!
单单是UI好看+全开源就打倒了好多的论坛了!
DC论坛官网
其实DC论坛就是Docker容器,所以其实,部署起来不会很难的,可是,仍有很多槽点,容易出错,我会跟着教程一起讲一遍

个人认为,其实有一个教程讲的不错,但是实际是并不能完成的
他的教程的确是很详细,但是,还是有Bug
教程原文:

【跨世纪】手把手教你搭建雨云同款论坛

我先略微评价一下他的这个文章
其实他写的是很不错的,但是仍然有几个错误,比如:1P面板安装了(实际上是环境,毕竟,安装了1P和宝塔这类运维面板,不可能不安装环境的,而环境包括了nginx等,nginx安装会占用80和443),所以会导致检测域名不能过关;再比如:

实际上,./discourse-setup这个命令貌似不能安装成功(个人的尝试,不代表一定不能)

这个是的一个评价,我感觉应该不是特例,因为我看到了不止一个人两个有这样的情况,如果我是一个特例的话,那么如果遇到我这样的一个特例情况,可以安装我的操作尝试一下

好,多余的不说,毕竟我也不是大神

个人认为,其实没有必要安装1P面板(除非要安装多个容器,实际上,一个DC论坛就能把2G内存跑满了,4G内存也跑到了3G)

首先,我们需要一台云服务器,云服务器这边建议购买雨云,其实一个易错点(也不算其实)就是:不能,不能,不能,千万不能是虚拟主机!!!!

我们可以先注册一个雨云的账号,优惠吗记得要填写:yhsheqv才能得到更多的优惠哦!!!

我们需要先购买一台云服务器,


在云服务器界面进入,选择够购买云服务器

对于选购云服务器
其实我还有一点想说的:
docker应用重构很吃宽带,如果你首次搭建后,发现填写错误,修改app.yml文件时,需要重构容器,如果是港区的小滴管,你会等待很久的,所以,千万,千万,千万别选港三和港二,除非你很闲,很爱等待

这边其实还是建议选择美国的二区,延迟比较低,然后宽带也不会很小(其实还是一区比较好,毕竟速度套个CDN都大差不差了)

可以购买或者试用哦

系统选择Debian12+预装docker,直接省事安装docker了

等待系统创建完成后,我们需要远程链接上服务器,这边还是推荐finalshell,用惯了,大家也可以自己选其他的

只演示finalshell,其他的也大差不差

li链接后就是这样的了

首先先更新软件包

apt update

更新软件包后我们需要从远程Git下载文件,所以也需要安装Git下载器

apt install git vim -y

等待他们都安装成功后,就可以了,我们就可以开始了

槽点1:小白建议单独购买一台2-2或者2-4的服务器,别安装面板,不然不好收尾

这个,也是我之前犯的错误,安装了1P,所以导致443和80端口一直被占用,研究了好一段时间

其实这个解决的办法也很简单,修改源文件,使面板不使用80和443端口

这里不做演示了

从远程Git下载源码到/var目录

git clone GitHub - discourse/discourse_docker: A Docker image for Discourse /var/discourse

这个命令复制后输入

我们cd到目录里面:

cd /var/discourse

必须要修改它的使用权限:

chmod 700 containers

然后其实处理很快,因为雨云服务器的性能嗷嗷强

运行安装程序

这个安装程序后面应该会失败,因为我们只是尝试一下
./discourse-setup

运行,然后填写你的域名
image
输入你的域名
记住了,这个论坛不支持IP,只能用域名!!!

好,不出意料,你应该失败了

image
你应该会显示这样的内容,对不对?

好,我应该没有猜错吧?

既然错误了,那肯定会有解决的办法,对吧?

其实也非常简单,因为这个安装程序不是特别好,需要换一个命令进行安装

./discourse-setup --skip-connection-test

这个命令,执行,然后会开始下载资源,这次,你再次输入域名,只要解析正确,一般就可以绑定域名了

接着,既然有了域名,那我们需要smtp的发件,这个其实也很好解决,可以163邮箱等都可以免费申请的

接着,自己申请,填写去吧,我不做这个演示,配合微信翻译,自己看着来

然后到达最后

会询问你确定填写的是否正确

对了,smtp,千万不能填错,不然会很麻烦,这也是槽点之一

没问题句下一步,然后等待他跑完,大概5-10分钟,基本上不用管它,也不会报错

针对国内服务器的修改

由于众所周知的原因,需要对配置文件进行一番修改,方可在国内顺利安装Discourse,如不修改,则很有可能卡在某一步甚至安装失败。

vim containers/app.yml打开主配置文件,在templates部分的- "templates/web.template.yml"后方添加- "templates/web.china.template.yml"

操作完成后,保存并关闭文件,执行./launcher rebuild app以开始安装。
(应用优化后插件配置部分可直接填写插件GitHub链接,无需修改为镜像后链接)
(以上优化过程也已经提交给Discourse官方,但不清楚是否能、何时能合并进主仓库已经合并进主仓库,所以不再需要手动打补丁)

然后,就部署完成啦!

部署完成,我们还需要访问域名,进行安装,基本上,是https,因为他会自动配置SSL证书的

搞定后,选择下一步,写一下你网站的名字,然后会发送邮件到你的邮箱,看看有没有

如果没有?编辑/var/discourse/containers的app.yml文件,看看邮箱的配置是否填写错误了,如果没有填写错误,可以尝试重新搭建一遍

当然了,你也可以

image
根据实际情况,自己填写吧!

自己填写完成后,就代表,你搭建成功了!!!

其实致辞,你搭建的Discourse就完成了!

教程参考:

Discourse 安装教程 - CMS / Discourse - Moe Tom
如何在已经安装面板的服务器上安装 Discourse - CMS / Discourse - Moe Tom

这篇文章很大部分参考了以上的文章。

好啦,文章就到这里啦!
最后的最后:雨云ID:191333

文章允许转载,但请注明出处

1 个赞

首先,我看了好几遍我写的,从始至终我没找到我装过1Panel,其次,装面板又不会占用80和443

除非在你实操的时候discourse-setup脚本更新了,否则按着我的教程来是几乎不可能失败的,也许你占了一个特例

这句话不完全对,docker只是在部署阶段要下载镜像,通常来说本质上和不使用docker部署所需的下载量是相当的,但docker会多下载一些文件层,例如基础镜像

还是之前说的,面板本身不占用80和443,你多半是安装了openresty或者南墙waf等应用

最后,我的教程中写到了如果收不到邮件强制跳过邮件验证的方法,当时我在编写的时候在这里卡过,看了网上也大多数都是收不到邮件强制跳过的,所以我不认为再来一遍就能收到邮件,而是应该先强制跳过,成功登陆后台后慢慢调试

强制跳过,那么是可以注册管理员账号,可是,如果开始了正常运营,那么论坛账号将无法注册

首先,我安装了很多遍,如果说我是特例的话,那么应该不少人也会遇到,昨晚我写教程的时候,我还特意重新再买了一台服务器,仍旧不能这个命令部署

docker其实本身不吃宽带,吃宽带的是他的重构,这里我写错了,我会修改,谢谢。
吃宽带的使他的重构,因为docker实际上用港三的滴管,得半个小时到一个小时,实际上我用其他家服务器,上40下100的,实际好像10多分钟20分钟,不知道是不是我这边的原因,我之前也问过DP(他应该也是对docker了解的比较多),他好像也是说了重构docker吃宽带

面板本身占用的不是80和443,可是,装宝塔难道不会安装PHP和等建站环境吗,1P应该也差不多,实测下来,不知道为什么,不知道是不是我的原因,1P好像安装了就会占用80和443。

这个只是我个人的建议,我也不应该写这么绝对,也是我的错误
强制跳过的话,其实也不是说重来一遍,应该是编辑app.yml文件,看看邮箱的配置是否错误,稍后我会修改,谢谢

面板只是将命令转换为图形界面的工具,安装环境后管理网站只是其附属功能之一

是你的原因

我建议在进行技术性操作时,首先要充分研究问题,确保自己对操作步骤和技术要点有深入的了解。如果发现错误,不要急于进行点评,而是要审慎分析问题的根源并寻找解决方法。在面对问题时,不要使用“不知道为什么,不知道是不是我的原因”来回避责任,而是要坦诚面对并主动寻求解决方案

首先,我写的是我个人的观点,因为文章是我边搭建边写的,文章是可行性99%的,我只是说,用我个人的的经历去写,写出了一些问题所在,而且,当他作出点评的时候,我并没有说不接受
最后,你说的:不知道为什么是不是我的原因
这个是因为我的经历就是这样的,再1p面板,我没有安装环境一样无法搭建,被占用80/443端口
论坛我搭建了四遍,你说说,有什么问题吗?如果遇到一些bug,我开头也写了,我不是大神,这只不过是我个人的经历,我把他写出来,这个方法,我可以保证能够搭建成功,如果遇到技术问题,不排除可能是我个人原因,也有可能是论坛源码的原因,这是不确定的,但是,我搭建了4遍,基本可以排除是我个人的原因了
你可以做到,为了写一篇文章,搭建四遍你文章的内容吗

有没有一种可能你的方法有问题,所以才导致搭建四遍都不行

如果出现这种情况,我会选择排查自己原因,或者重试,如果还是不行我会选择放弃

建议自己试用一台做实验
宝塔面板:


停止nginx:

1p面板:

停止openresty:

1 个赞

为了做1p的实验,我网站™断了一分钟

不值得的

怕你看不懂命令行,给你来个图形化,你看看除了我的frps和组网还有其他东西占80/443吗

搭建这个的方法那么多,我不过是选择了从个人角度来讲最可用,最简单的方法

有没有一种可能,最简单的方法是给技术支持打钱

首先,你应该是用了雨云的预装宝塔系统吧?环境都是已经给你装好了的,例如 nginx。如果你自己手动安装,第一次进入面板会询问你安装哪些环境,你可以拒绝的。1Panel 面板会自动安装 Docker 和 Docker Compose ,并没有安装像什么 OpenResty 这些 Web 服务器软件。

你的文章还是挺不错的,继续加油哦~

纠正一下,不是因为安装了面板占用端口,其实还是命令问题,这个论坛的域名检测不太行,跳过域名检测就好了,谢谢你的纠错
(不过,我个人认为,谁家好人装面板不装建站环境啊)

1p和bt面板叫运维面板,建站只是附属功能,某些冷门的专门建站的面板才另说,比如cyber,cpanel这些是建站为主,运维为辅