如何在CentOS 7上安装NodeBB

・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。

Yanyan profile image