nodebb环境搭建

[转]http://my.oschina.net/bfleeee/blog/268994

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

示例环境:

CentOS v6.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 << EOF >> /etc/profile

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

export PATH

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 << EOF >> /etc/profile

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

export PATH

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

yum install git

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

克隆nodebb:

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

启动setup进行配置:

cd nodebb

./nodebb setup

配置完成后启动nodebb:

./nodebb start

三、使用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为例:

upstream nodebb {

    server haofan.info:4567;

}

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

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;

启动nginx

sbin/nginx

四、附录:

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

#!/bin/sh

export SOFT_DIR=/usr/local/

export NodeBB_PARENT=/root

function 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;

fi

exist_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.conf

fi

exist_cmd git;

if [ $? -eq 0 ] ; then

  yum install git

fi

if [ -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

  fi

else

  echo "Installing nodebb..."

  install_nodebb

fi

时间: 2024-10-12 15:56:51

nodebb环境搭建的相关文章

一、环境搭建

1 更新到最新版本的pip(这是安装python扩展包的一个插件)命令如下: python -m pip install --upgrade pip 2 使用pip安装virtualenv,命令 pip install virtualenv  如果要指定版本号,pip install virtualenv==15.0.1(安装虚拟环境) 3 创建django虚拟环境,命令 virtualenv django_basic_venv 4 使用虚拟环境 需要进入到安装目录的Scripts文件夹下,运行

Ionic2环境搭建及文件目录介绍

[注]引用自:http://blog.csdn.net/jasonzds/article/details/53821184 1环境搭建 一年前研究混合框架,初步确定了四种方案给公司选择,ionic,hbuilder,wex5,react-native这四个框架各有优缺点,ionic和react-native是国外框架,相对好一点,文档更新很快,就不一一说了,大概的思路都是一样的,js逻辑实现,同时调用原生功能,h5,css3 UI实现,其实他们都有自己的ui框架,当时选择了国内的hbuiler,

Selenium+Java+Eclipse 自动化测试环境搭建

一.下载Java windows java下载链接 https://www.java.com/zh_CN/download/win10.jsp 二.安装Java 安装好后检查一下需不需要配置环境变量,现在java 8已经不用配置环境变量了,直接在命令行输入:java -version 三.下载和安装Eclipse windows Eclipse下载链接 https://www.eclipse.org/downloads/ 你也可以下载绿色版 四.下载selenium,然后解压 selenium

Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要配置Qt库和编译器.编译器只能使用苹果公司自主研发的Clang.1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Qt并默认安装 http://down

基于 Eclipse 的 MapReduce 开发环境搭建

文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/6055850.html 上周末本来要写这篇的,结果没想到上周末自己环境都没有搭起来,运行起来有问题的呢,拖到周一才将问题解决掉.刚好这周也将之前看的内容复习了下,边复习边码代码理解,印象倒是很深刻,对看过的东西理解也更深入了. 目录 1.概述 2.环境准备 3.插件配置 4.配置文件系统连接 5.测试连接 6.代码编写与执行 7.问题梳理 7.1 console 无日志输出问题 7.2

ICE分布式文件管理系统——ICE环境搭建(其二)

上一博文,我们讲述了ICE这个中间件的基本认识. 接下来我们讲述开发环境搭建. 其过程主要分为三步: 安装GCC-4.4.6.安装ICE-3.4.2.安装QT-4.7.3. (本文是基于LINUX下的ICE-3.4.2的安装,如果已安装了GCC(版本高于GCC-4.4.6亦可),请直接安装ICE) 一.安装GCC: (gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/) 一般来说基于linux的操作系统都是默认安装了GCC的.假如说你的电脑没有的话 请百度一哈,可以解决

[Step-By-Step Angular2](1)Hello World与自动化环境搭建

随着rc(release candidate,候选版本)版本的推出,万众瞩目的angular2终于离正式发布不远啦!五月初举办的ng-conf大会已经过去了整整一个月,大多数api都如愿保持在了相对稳定的状态——当然也有router这样的例外,在rc阶段还在大面积返工,让人颇为不解——不过总得说来,现在学习angular2不失为一个恰当的时机. Google为angular2准备了完善的文档和教程,按理说,官网(https://angular.io)自然是学习新框架的最好教材.略显遗憾的是,在B

Linux交叉开发环境搭建 —— 效率之源

楼主今天终于把所有Linux开发环境需要的软件下载完毕了.虽然以前也是搭建过的,时间久了又折腾了一晚上. 交叉环境: Windows.Linux文件共享 SecureCRT 连接虚拟机终端 工具: VirtualBox ubuntu-16.04-desktop-amd64.iso(ubuntu官网下载) SecureCRT Source Insight 虚拟机搭建: 检查bios虚拟技术功能开启 新建虚拟机,选择创建虚拟硬盘,其余均默认 点击新建虚拟机设置->存储->选中没有光盘->点击

Intellij IDEA 14.1.4 Scala开发环境搭建

主要内容 Intellij IDEA开发环境简介 Intellij IDEA Scala开发环境搭建 Intellij IDEA常见问题及解决方案 Intellij IDEA常用快捷键 1. Intellij IDEA开发环境简介 具体介绍请参见:http://baike.baidu.com/link?url=SBY93H3SPkmcmIOmZ8H60O1k4iVLgOmdqoKdGp9xHtU-Pbdsq2cpn75ZPZPWAJxeUlwr0ravraQzOckh777beq Intelli