NodeBB 搭建教程
笔记
| 共 429 字 | 20180414 发表 | 20180503 更新
我一直想建个关于主机的论坛,之前用flarum试了试不太好,昨天发现了NodeBB,安装了下发现非常好用。反向代理我使用的是 caddy 而不是 nginx,所以在搭建的过程中遇到了不少问题,写篇教程记录下。
老样子系统是 Centos7,其它系统基本上大同小异。域名为 mydomain.com,vps 内存比较小所以用 MongoDB 作为数据库。
环境
MongoDB 初始化
mongo 官方的文档说的已经很清楚了,安装过程也很简单。
1
2
3
4
5
6
7
8
9
10
| echo "
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
" > /etc/yum.repos.d/mongodb-org-3.6.repo
yum install mongodb-org -y
|
安装好了以后需要创建一下数据库和用户
1
2
3
4
| mongo
> use nodebb
> db.createUser( { user: "nodebb", pwd: "<Enter in a secure password>", roles: [ "readWrite" ] } )
> db.grantRolesToUser("nodebb",[{ role: "clusterMonitor", db: "admin" }]);
|
安装 NodeBB
1
2
3
| git clone https://github.com/NodeBB/NodeBB.git nodebb
cd nodebb
./nodebb
|
找到 config.json,添加 socket.io 设置,否则网站无法正常运行。
1
2
3
4
5
6
7
8
9
10
11
| {
"url": "http://mydomain.com",
"secret": "",
"database": "mongo",
"port": 4567,
"mongo": {},
"type": "literal",
"socket.io": {
"origins": "http://mydomain.com:*"
}
}
|
使用 Caddy
这部分是最坑的,坑了我一整天。
Caddyfile
mydomain.com {
timeouts 0
proxy / 127.0.0.1:4567 {
websocket
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Proto {scheme}
header_upstream Connection {>Connection}
header_upstream Upgrade {>Upgrade}
}
log caddy.log
}
备份数据库
Mongo
1
2
3
4
| backup_date=$(date +"%F-%H%M%S")
cd /data
mongodump -d nodebb
tar -zcvf ${backup_date}.tar.gz dump/nodebb --remove-files
|
定时任务
0 0,6,12,18 * * * bash /data/backup.sh
未完待续