Featured image of post 使用LNMP在CentOS7部署nodebb论坛系统!

使用LNMP在CentOS7部署nodebb论坛系统!

NodeBB是一款专为现代网络构建的基于Node.js的论坛软件。

在诸多论坛系统之中,NodeBB不说最好,至少也是最好之一了。界面也是比较耐看的。

在部署上,确实稍许有些麻烦,本文中,笔者会讲述如何在CentOS7上部署NodeBB

准备

  • CentOS 7x64服务器(RAM大于等于1G)
  • EPEL yum库
  • root权限
  • 善用Google

首先,我们应该确保CentOS是最新的,我们可以使用以下命令来做到这一点:

1
yum -y update

安装epel版本

1
yum -y install epel-release

之后,安装依赖软件

1
2
yum -y groupinstall "Development Tools"
yum -y install git redis ImageMagick

通过npm安装nodejs

1
2
3
4
curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash
source ~/.bash_profile
nvm list-remote
nvm install v13.8.0 # 在上一个命令所列出来的列表中挑一个比较新的

现在启动redis并将其设置为开机自启

1
2
systemctl start redis
systemctl enable redis

接下来,克隆NodeBB存储库:

1
2
3
cd /path/to/nodebb/install/location
git clone -b v1.13.2 https://github.com/NodeBB/NodeBB nodebb
cd nodebb

注意:要克隆master分支,可以使用相同的命令,但不带“ -b”选项。

安装依赖并进行基础设置

1
./nodebb setup

设置防火墙

1
2
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --reload

启动论坛!

1
./nodebb start

注意,这个时候在浏览器输入地址只会得到一个500 ERROR,还需要进行web服务器(nginx,apache,caddy…..)的配置。

这里笔者选择的是通过lnmp的nginx自动脚本,这样设置https什么的比较方便。

安装nginx:

1
wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh nginx

注意:以上命令只会安装nginx,不会安装php及mysql,如有需要请将末尾的nginx改为lnmp!

创建网址:

1
lnmp vhost add

跟着流程走,具体参考如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
Please enter domain(example: www.lnmp.org): yard.axiss.world
 Your domain: yard.axiss.world
Enter more domain name(example: lnmp.org *.lnmp.org): 
Please enter the directory for the domain: yard.axiss.world
Default directory: /home/wwwroot/yard.axiss.world: 
Virtual Host Directory: /home/wwwroot/yard.axiss.world
Allow Rewrite rule? (y/n) n
You choose rewrite: none
Enable PHP Pathinfo? (y/n) n
Disable pathinfo.
Allow access log? (y/n) n
Disable access log.
Add SSL Certificate (y/n) y
1: Use your own SSL Certificate and Key
2: Use Let's Encrypt to create SSL Certificate and Key
Enter 1 or 2: 2
It will be processed automatically.

Press any key to start create virtul host...

配置nginx:

用如下这段替换所有的location段,否则会有样式错误。

/usr/local/nginx/conf/

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
......

        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://docs.nodebb.org/installing/os/centos/ https://www.helplib.cn/yanyan/how-to-install-nodebb-on-centos-7 https://www.kancloud.cn/a632079/nodebb-cn/372106