Linux搭建Nodebb論壇指南(安裝篇)
Nodebb是一個(gè)很酷很簡(jiǎn)潔的論壇系統(tǒng)?;趎odejs,使用socket.io實(shí)現(xiàn)實(shí)時(shí)通信。socket.io的好處在于提供了多種傳輸實(shí)現(xiàn)作為消息傳輸?shù)姆绞剑ㄖС值膫鬏敺绞絎ebSocket,Flash,...
Nodebb是一個(gè)很酷很簡(jiǎn)潔的論壇系統(tǒng)?;趎odejs,使用socket.io實(shí)現(xiàn)實(shí)時(shí)通信。socket.io的好處在于提供了多種傳輸實(shí)現(xiàn)作為消息傳輸?shù)姆绞剑ㄖС值膫鬏敺绞絎ebSocket,Flash,Ajax Long Polling等,支持的瀏覽器IE5.5+,Chrome 4+,Firefox 3+,Android Webkit,iPhone safari等),并封裝為簡(jiǎn)單一致的API以供調(diào)用。Nodebb提供了高度可定制的主題、插件系統(tǒng)。想做個(gè)論壇玩玩,或者想學(xué)習(xí)nodejs的同學(xué)可以馬上上手了。
示例環(huán)境:
CentOS v6.5,node.js v0.10.28 ,Redis v2.8.9 , nginx v1.6.0
一、安裝基礎(chǔ)依賴
首先安裝依賴軟件。這里基本上使用下載安裝,各版本的Linux也可使用各自的包管理器進(jìn)行更快捷的安裝。Nodebb依賴node.js,數(shù)據(jù)庫(kù)使用Mongo或redis。這里以redis為例。
安裝nodejs
在nodejs下載頁(yè)面選擇需要的nodejs版本進(jìn)行下載。解壓后即可使用。以64位Linux版本為例:
wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x64.tar.gztar -xzf node-v0.10.28-linux-x64.tar.gz
為了方便使用,將node包下的bin目錄加入到/etc/profile中,并執(zhí)行source:
cat << EOF >> /etc/profilePATH=/$PATH:/path/to/node/binexport PATHEOFsource /etc/profile
注意這里為了不對(duì)PATH變量進(jìn)行替換,使用了”"對(duì)$進(jìn)行了轉(zhuǎn)義。如果使用vi進(jìn)行編輯就不用加”"了。
安裝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.9make
同樣可以把redis的命令加入到PATH:
cat << EOF >> /etc/profilePATH=/$PATH:/path/to/redis/srcexport PATHEOFsource /etc/profile
需要注意的是source只把腳本對(duì)應(yīng)的環(huán)境變量修改了,腳本執(zhí)行完畢后如果想使用新改的變量,可以在當(dāng)前環(huán)境下`source /etc/profile`或啟動(dòng)另一終端。
安全起見(jiàn),使用redis加上密碼。在redis.conf中加入`requirepass password`
啟動(dòng)redis:
redis-server ./redis.conf
測(cè)試redis:
redis-cli auth password
二、安裝NodeBB
安裝NodeBB需要使用git克隆代碼,所以先安裝git:
安裝git
yum install git
除Fedora、CentOS的其他版本Linux可參考這里進(jìn)行Git安裝
克隆nodebb:
git clone git://github.com/designcreateplay/NodeBB.git nodebb
啟動(dòng)setup進(jìn)行配置:
cd nodebb
./nodebb setup
配置完成后啟動(dòng)nodebb:
./nodebb start
三、使用Nginx代理
完成上一步,安裝就基本完成了。如果服務(wù)器存在多個(gè)應(yīng)用需要使用80端口,可以使用nginx監(jiān)聽(tīng)80端口,對(duì)應(yīng)用進(jìn)行代理。
安裝nginx
wget http://nginx.org/download/nginx-1.6.0.tar.gztar -xvf nginx-1.6.0.tar.gzcd nginx-1.6.0
配置nginx
在nginx目錄下修改conf/nginx.conf,在http中添加upstream,這里以我的域名haofan.info和端口4567為例:
upstream nodebb { server haofan.info:4567;}
新建配置文件conf/site-enabled/nodebb.conf,內(nèi)容如下:
server { listen 80 ; server_name haofan.info www.haofan.info; error_log logs/nodebb.error.log; Access_log logs/nodebb.access.log main; location / { root /root/nodebb/public; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://nodebb; proxy_redirect off; proxy_buffers 8 32k; proxy_buffer_size 64k; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }}
修改conf/nginx.conf文件,使用include方式引入配置文件:
include site-enabled/nodebb.conf;
啟動(dòng)nginx
sbin/nginx
四、附錄:
nodebb及依賴安裝腳本(不包含nginx部分):
#!/bin/shexport SOFT_DIR=/usr/local/export NodeBB_PARENT=/rootfunction exist_cmd(){ if hash "$1" 2>/dev/null; then echo $1 ok; return 1; else echo $1 not ok; return 0; fi}function install_nodebb(){ cd $NodeBB_PARENT git clone git://github.com/designcreateplay/NodeBB.git nodebb cd nodebb npm install ./nodebb setup}exist_cmd node;if [ $? -eq 0 ] ; 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 cd node-v0.10.28-linux-x64 echo "PATH=/$PATH:`pwd`/bin" >> /etc/profile echo "export PATH" >> /etc/profile source /etc/profile;fiexist_cmd redis-server;if [ $? -eq 0 ] ; then cd $SOFT_DIR 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 echo "PATH=/$PATH:`pwd`/src" >> /etc/profile echo "export PATH" >> /etc/profile source /etc/profile redis-server ./redis.conffiexist_cmd git;if [ $? -eq 0 ] ; then yum install gitfiif [ -d "$NodeBB_PARENT/nodebb" ] ; then echo "Exists NodeBB,Delete it ? [yes/no]" read deleteIt if [[ $deleteIt == y* ]] ; then rm -rf $NodeBB_PARENT/nodebb install_nodebb fielse echo "Installing nodebb..." install_nodebbfi
-
無(wú)相關(guān)信息