如何在CentOS 7上安装NodeBB
Yanyan
・7 分钟阅读
NodeBB是一个现代的,开源的,基于NodeJS的论坛软件。
在本文中我们会在CentOS 7上安装NodeBB 。
前提条件
- 新部署的CentOS 7x64服务器实例至少1GB RAM,
- 作为
root
用户登录, - EPEL yum库,
步骤1:更新系统
使用sudo用户登录到你的服务器以安装EPEL
,更新系统,然后重新启动以应用更新。
yum install epel-release -y
yum update -y && sudo shutdown -r now
步骤2:安装NodeBB的依赖项
接下来,我们会安装所有NodeBB所需的系统依赖:
yum -y groupinstall"Development Tools"
yum -y install git redis ImageMagick npm
启动redis
,并且使它在每个系统启动时运行:
systemctl start redis.service
systemctl enable redis.service
步骤3使用NVM安装NodeJS
在撰写本文时,最新的NodeJS版本是 v6.9.5 ,使用以下命令安装NodeJS:
注意:下面的第二个命令会调用nvm v0.33.0,这是撰写本文时nvm 的最新版本,你可以查看最新版本的nvm,,然后相应地修改该命令。
cd
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
source ~/.bash_profile
nvm list-remote
nvm install v6.9.5
步骤4安装NodeBB
安装最新版本的NodeBB,NodeBB v1.4.3
,如下所示:
cd /opt
git clone -b v1.4.3 https://github.com/NodeBB/NodeBB nodebb
cd nodebb
npm install
安装完成后运行带有设置的
脚本以设置NodeBB :
./nodebb setup
请回答以下几个问题,以便在redis数据库中使用默认设置,适当时,按Enter
接受括号中显示的默认设置。
- 用于访问此NodeBB的URL http://localhost:4567)
- 请输入NodeBB秘密(bb3244f1-3a7e-4ee2-bc77-5032fd4c8b00 )
<Enter>
- 要使用哪个数据库(mongo)redis
- 你的Redis实例(127.0.0.1 )
<Enter>
的主机IP地址或地址 - 你的Redis实例(6379 )
<Enter>
的主机端口 - 你的Redis数据库
<Enter>
的密码 - 使用哪个数据库(0..n)(0)按回车
- 管理员用户名
admin
- 管理员电子邮件地址
admin@example.com
- 密码
yourpassword
- 确认密码
yourpassword
成功安装和配置NodeBB后,可以通过运行以下命令手动启动/停止/重新启动NodeBB
./nodebb start
./nodebb stop
./nodebb restart
第5步:使用forever 让NodeBB运行
Forever是一个可以保持基于nodejs的应用程序运行的工具。在生产中,这是一个有用的功能。
首先你需要停止NodeBB :
./nodebb stop
全局安装forever:
npm install forever -g
使用forever 启动NodeBB
cd /opt/nodebb
forever start app.js
你可以使用curl
命令确认NodeBB正在运行:
curl -I http://localhost:4567
输出应类似于:
HTTP/1.1 200 OK
X-Powered-By: NodeBB
X-Frame-Options: SAMEORIGIN
Access-Control-Allow-Origin: null
Content-Type: text/html; charset=utf-8
Content-Length: 19845
ETag: W/"4d85-cXlw1a5DyxHkfjSEd7Ru5Q"
set-cookie: express.sid=s%3AqoIQ1-JSyw1tvrrhyXiP7Sm5D-gDJ9HT.Aum4qMXBPiCgZ7Il%2BtrePafZJWEt2dIJlS%2BBTRZjWZs; Path=/; Expires=Sun, 26 Feb 2017 15:14:35 GMT; HttpOnly
Vary: Accept-Encoding
Date: Sun, 12 Feb 2017 15:14:36 GMT
Connection: keep-alive
步骤6设置nginx反向代理
由于默认情况下NodeBB在localhost上运行,因此你需要设置Nginx反向代理以允许Web访问。
使用YUM安装Nginx :
yum install nginx -y
修改Nginx设置:
vi /etc/nginx/nginx.conf
查找http {}
段中的location/{}
段:
http {
location / {
}
}
将下面的行插入到location/{}
段中:
proxy_pass http://127.0.0.1:4567;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
最后的结果应该是:
http {
location / {
proxy_pass http://127.0.0.1:4567;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
}
}
保存和退出:
:wq
!
启动并启用Nginx服务:
systemctl start nginx.service
systemctl enable nginx.service
步骤7:修改防火墙规则以允许访问者访问
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
步骤8访问NodeBB
最后将你的Web浏览器指向http://203.0.113.1,访问新创建的NodeBB网站,你可以使用前面设置的管理凭据登录,以管理员身份登录后,可以自由导航和自定义NodeBB。