十年老司机分享,五分钟搭建个人轻论坛

时间:2024-01-25 20:16:41

前言

09 年开始接触论坛,那会微信还没有诞生,也没有什么移动互联网,大家还都在用功能机玩着 2G 的文字游戏!那会玩论坛的还比较多,当时国内最火爆的两款论坛程序 DiscuzPHPWind 也都是基于世界上最好的语言架构的。

同时也衍生出了众多免费社区论坛,其中最著名的应属 5d6duueasy了,分分钟就可以搭建出一个属于自己的独立社区。

不过 PHPWind 2008年被阿里收购,Discuz 在2010年也被腾讯收购,从此两大社区论坛走上了不归路。

2019年5月30日,著名论坛系统 Discuz 发布公告,由于资源和人力投入问题,Discuz!关闭了 www.discuz.net 的发言权限,但是历史资料仍然可以查阅。

2019年x月x日,PHPWind 直接站点关闭,问题咨询转移到了阿里云论坛,如今阿里云论坛也宣布关闭,直接跳转到了阿里云问答频道。

作为曾经创办过N多论坛的老司机,对于过去还是无比怀念的,虽然办一个死一个,最终只留下了科帮网,也是活的最久的一个。

曲终人散皆是梦,繁华落尽一场空,DiscuzPHPWind 已经不属于这么时代了,下面给大家推荐一款轻论坛软件 NodeBB,翻译过来就是不要哔哔。

搭建环境

  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。

  • NodeBB 是一个基于 NodeJs 的社区论坛系统。

  • Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

效果预览

论坛版块

首页瀑布流

帖子内页

后台管理

安装

Docker 的安装

RedHat/CentOS必须要6.6版本以上,或者7.x才能安装docker,建议在RedHat/CentOS 7上使用docker,因为RedHat/CentOS 7的内核升级到了kernel 3.10,对lxc容器支持更好。

查看Linux内核版本(内核版本必须是3.10或者以上):

cat /proc/version

uname -a

lsb_release -a

##无法执行命令安装
yum install -y redhat-lsb

更新YUM源:

yum update

安装:

yum  install docker -y

检查版本:

docker -v

安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

service docker start
chkconfig docker on

Redis 的安装

docker run --name redis \
       -v $PWD/redis/data:/data  \
       -p 6389:6379 \
       -d redis --appendonly yes

执行以下命令可以进行相关操作:

docker exec -it redis  redis-cli

需要注意的是,redis 建议使用内网地址,做了映射,由于没有设置密码,不要开放外网端口。

NodeBB 的安装

安装时间可能会久一点,请耐心等待片刻。

docker run --restart always --name forum  -p 4567:4567 -d nodebb/docker

如果不想等,就改 Docker 源吧。

vi /etc/docker/daemon.json

{

"registry-mirrors": ["http://hub-mirror.c.163.com"]

}

然后重启服务:

systemctl restart docker.service

上线

然后我们继续最后一步,让轻论坛可以被外网访问,这里我们使用 Nginx 做反向代理。

server {
         listen 80;
         server_name  forum.52itstyle.vip;
         location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $http_host;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://127.0.0.1:4567;
            proxy_redirect off;

            # Socket.IO Support
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
 }

第一次访问网址,会提示安装,一步步傻瓜式安装即可。

最后,来个演示:https://forum.52itstyle.vip