您现在的位置: 主页 > 嵌入式操作系统 > Linux > Linux搭建NodeBB论坛指南-安装篇
本文所属标签:
为本文创立个标签吧:

Linux搭建NodeBB论坛指南-安装篇

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-06-29 

Nodebb是一个很酷很简洁的论坛系统。基于nodejs,使用socket.io实现实时通信。socket.io的好处在于提供了多种传输实现作为消息传输的方式(支持的传输方式WebSocket,Flash,Ajax LongPolling等,支持的浏览器IE5.5+,Chrome 4+,Firefox 3+,AndroidWebkit,IPhone safari等),并封装为简单一致的API以供调用。Nodebb提供了高度可定制的主题、插件系统。想做个论坛玩玩,或者想学习nodejs的同学可以马上上手了。

示例环境:

CentOSv6.5,node.js v0.10.28 ,Redis v2.8.9 , nginx v1.6.0

一、安装基础依赖

首先安装依赖软件。这里基本上使用下载安装,各版本的Linux也可使用各自的包管理器进行更快捷的安装。Nodebb依赖node.js,数据库使用Mongo或redis。这里以redis为例。

安装nodejs

在nodejs下载页面选择需要的nodejs版本进行下载。解压后即可使用。以64位Linux版本为例:

wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x64.tar.gz

tar -xzf node-v0.10.28-linux-x64.tar.gz

为了方便使用,将node包下的bin目录加入到/etc/profile中,并执行source:

cat <>/etc/profile

PATH=$PATH:/path/to/node/bin

exportPATH

EOF

source /etc/profile

注意这里为了不对PATH变量进行替换,使用了”"对$进行了转义。如果使用vi进行编辑就不用加”"了。

安装Redis

wget http://download.redis.io/releases/redis-2.8.9.tar.gz

tar -xvf redis-2.8.9.tar.gz

cd redis-2.8.9

make

同样可以把redis的命令加入到PATH:

cat <>/etc/profile

PATH=$PATH:/path/to/redis/src

exportPATH

EOF

source /etc/profile

需要注意的是source只把脚本对应的环境变量修改了,脚本执行完毕后如果想使用新改的变量,可以在当前环境下`source /etc/profile`或启动另一终端。

安全起见,使用redis加上密码。在redis.conf中加入`requirepass password`

启动redis:

redis-server ./redis.conf

测试redis:

redis-cli

auth password

二、安装NodeBB

安装NodeBB需要使用git克隆代码,所以先安装git:

安装git

yuminstallgit

除Fedora、CentOS的其他版本Linux可参考这里进行Git安装

Ubuntu下Git服务器的搭建与使用指南http://www.linuxidc.com/Linux/2015-07/120617.htm

克隆nodebb:

git clonegit://github.com/designcreateplay/NodeBB.git nodebb

启动setup进行配置:

cdnodebb

./nodebb setup

配置完成后启动nodebb:

./nodebbstart

三、使用Nginx代理

完成上一步,安装就基本完成了。如果服务器存在多个应用需要使用80端口,可以使用nginx监听80端口,对应用进行代理。

安装nginx

wget http://nginx.org/download/nginx-1.6.0.tar.gz

tar -xvf nginx-1.6.0.tar.gz

cd nginx-1.6.0

配置nginx

在nginx目录下修改conf/nginx.conf,在http中添加upstream,这里以我的域名haofan.info和端口4567为例:

upstreamnodebb {

serverhaofan.info:4567;

}

新建配置文件conf/site-enabled/nodebb.conf,内容如下:

server{

listen80;

server_namehaofan.infowww.haofan.info;

error_loglogs/nodebb.error.log;

access_loglogs/nodebb.access.log main;

location/ {

root/root/nodebb/public;

proxy_set_headerX-Real-IP$remote_addr;

proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;

proxy_set_headerHost$http_host;

proxy_set_headerX-NginX-Proxytrue;

proxy_passhttp://nodebb;

proxy_redirectoff;

proxy_buffers832k;

proxy_buffer_size64k;

# Socket.IO Support

proxy_http_version1.1;

proxy_set_headerUpgrade$http_upgrade;

proxy_set_headerConnection"upgrade";

}

error_page500502503504/50x.html;

location= /50x.html {

roothtml;

}

}

修改conf/nginx.conf文件,使用include方式引入配置文件:

includesite-enabled/nodebb.conf;

启动nginx

sbin/nginx

四、附录:

nodebb及依赖安装脚本(不包含nginx部分):

#!/bin/sh

exportSOFT_DIR=/usr/local/

exportNodeBB_PARENT=/root

functionexist_cmd()

{

ifhash"$1"2>/dev/null;then

echo$1ok;

return1;

else

echo$1not ok;

return0;

fi

}

functioninstall_nodebb()

{

cd$NodeBB_PARENT

gitclonegit://github.com/designcreateplay/NodeBB.git nodebb

cdnodebb

npm install

./nodebb setup

}

exist_cmd node;

if[ $?-eq0] ;then

cd$SOFT_DIR

wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x64.tar.gz

tar -xzf node-v0.10.28-linux-x64.tar.gz

cdnode-v0.10.28-linux-x64

echo"PATH=$PATH:`pwd`/bin">> /etc/profile

echo"export PATH">> /etc/profile

source/etc/profile;

fi

exist_cmd redis-server;

if[ $?-eq0] ;then

cd$SOFT_DIR

wget http://download.redis.io/releases/redis-2.8.9.tar.gz

tar -xvf redis-2.8.9.tar.gz

cdredis-2.8.9

make

echo"PATH=$PATH:`pwd`/src">> /etc/profile

echo"export PATH">> /etc/profile

source/etc/profile

redis-server ./redis.conf

fi

exist_cmd git;

if[ $?-eq0] ;then

yum install git

fi

if[-d"$NodeBB_PARENT/nodebb"] ;then

echo"Exists NodeBB,Delete it ? [yes/no]"

readdeleteIt

if[[$deleteIt== y* ]] ;then

rm -rf$NodeBB_PARENT/nodebb

install_nodebb

fi

else

echo"Installing nodebb..."

install_nodebb

fi



              查看评论 回复



嵌入式交流网主页 > 嵌入式操作系统 > Linux > Linux搭建NodeBB论坛指南-安装篇
 使用 安装 进行

"Linux搭建NodeBB论坛指南-安装篇"的相关文章

网站地图

围观()