Bamboo安装指导

以Ubuntu 10.04为例。从前到后依次执行。

安装gcc等基本编译环境
apt-get install build-essential

安装lua解释器,头文件,基本库,luarocks
apt-get install lua5.1 liblua5.1-0 liblua5.1-0-dev luarocks

安装uuid-dev等,被zeromq及后面的程序需要
apt-get install uuid-dev sqlite3 libsqlite3-dev git-core

安装libzmq
到zeromq官网(http://www.zeromq.org/)上下载最新稳定版的安装包,比如是zeromq-2.1.7.tar.gz。(如果以前安装过老版的libzmq库,请手动将其删除,一般在/usr/local/lib/和/usr/lib/下面)

tar xvf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure       这个过程如果发现什么依赖不完全的,就请apt-get手动装上
make
make install     会将zmq库文件安装到/usr/local/lib/下面
ldconfig           执行这个,把库路径加入到缓存中去

安装mongrel2
到mongrel2官网(http://mongrel2.org/home)上下载最新稳定版的安装包,比如是:mongrel2-1.7.3.tar.bz2

tar xvf mongrel2-1.7.3.tar.bz2
cd mongrel2-1.7.3
make               编译mongrel2,这一步需要连接zmq库
make install

安装redis
到redis官网上下载最新稳定版的安装包,比如是:redis-2.2.2.tar.gz

tar xvf redis-2.2.2.tar.gz
cd redis-2.2.2
make
make install

编辑配置文件 /etc/redis.conf,如果没有此文件就把当前redis源代码包中的redis.conf文件拷贝到/etc/下面去。确保文件中有如下信息:

################ START #################
daemonize yes
pidfile /var/run/redis.pid
port 6379
timeout 0
loglevel verbose
logfile stdout
databases 256
save 900 1
save 300 10
save 60 10000
dbfilename redis.rdb
dir /var/local/
slave-serve-stale-data yes
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
################ END #################

其它的属性就用默认的配置。

--------------------------------------------------------------------
rocks依赖包的安装

在安装rocks包前,打开/etc/luarocks/config.lua
emacs /etc/luarocks/config.lua
看一下,在里面添加一行
variables['CFLAGS'] = "-O2 -fPIC"
保存,退出。


下面开始执行rocks依赖包的安装。

luarocks install lpeg
luarocks install lsqlite3
luarocks install lua_signal
luarocks install lunit
luarocks install luajson
luarocks install luaposix
luarocks install luasocket
luarocks install md5
luarocks install telescope

--------------------------------------------------------------------
git源码库的安装

下面执行git源码库的安装(以下命令如有权限问题,请在前面加sudo)

在用户主目录下建立一个目录 GIT,cd进去,执行:

安装lua-zmq
git clone git://github.com/iamaleksey/lua-zmq.git
cd lua-zmq
make                  这一步会在前目录下编译出一个zmq.so文件来
cp zmq.so /usr/local/lib/lua/5.1/      将此动态库链接文件拷贝到lua的二进制库存放路径

安装mongrel2-lua
git clone git://github.com/jsimmons/mongrel2-lua.git
ln -sdf  ~/GIT/mongrel2-lua/mongrel2   /usr/local/share/lua/5.1/

安装redis-lua
git clone git://github.com/nrk/redis-lua.git
ln -sf  ~/GIT/redis-lua/src/redis.lua   /usr/local/share/lua/5.1/

安装tnetstrings.lua
git clone git://github.com/jsimmons/tnetstrings.lua.git
ln -sf  ~/GIT/tnetstrings.lua/tnetstrings.lua   /usr/local/share/lua/5.1/

安装lglib
git clone git://github.com/daogangtang/lglib.git
ln -sdf ~/GIT/lglib   /usr/local/share/lua/5.1/

安装bamboo
git clone git://github.com/daogangtang/bamboo.git
ln -sdf ~/GIT/bamboo   /usr/local/share/lua/5.1/
ln -sf /usr/local/share/lua/5.1/bamboo/bin/bamboo /usr/local/bin/
ln -sf /usr/local/share/lua/5.1/bamboo/bin/bamboo_handler /usr/local/bin/

--------------------------------------------------------------------
建立安装mongrel2的配置文件

在用户主目录下建立一个目录 workspace
mkdir workspace && cd workspace
mkdir monserver && cd monserver
mkdir conf logs run sites tmp sites/apptest
编辑配置文件
emacs conf/mongrel2.conf
将以下内容拷贝到此文件中去

################ START #################
# for test
static_apptest = Dir( base='sites/apptest/', index_file='index.html', default_ctype='text/plain')

handler_apptest = Handler(send_spec='tcp://127.0.0.1:9999',
                send_ident='e884a439-31be-4f74-8050-a93565795b25',
                recv_spec='tcp://127.0.0.1:9998', recv_ident='')


server1 = Server(
    uuid="505417b8-1de4-454f-98b6-07eb9225cca1"
    access_log="/logs/access.log"
    error_log="/logs/error.log"
    chroot="./"
    pid_file="/run/mongrel2.pid"
    default_host="(.+)"
    name="server1"
    port=6767
    hosts=[
        Host(   name="(.+)",
                routes={
                    '/': handler_apptest,
                    '/favicon.ico': static_apptest,
                    '/media/': static_apptest
                }
        )
    ]
)

settings = { "zeromq.threads": 1,
'limits.content_length': 20971520,
'upload.temp_store': '/tmp/mongrel2.upload.XXXXXX'
}

servers = [server1]
################ END #################

保存,退出。在monserver目录下,执行
m2sh load -config conf/mongrel2.conf -db conf/config.sqlite
生成一种格式无关配置文件 conf/config.sqlite。

切换到~/workspace/下面,执行
emacs settings.lua
将下面两行拷入
monserver_dir = "####/workspace/monserver/"
bamboo_dir = "/usr/local/share/lua/5.1/bamboo/"

注意,这里这个####要替换成用户实际的目录,比如root用户,monserver_dir值就是
"/root/workspace/monserver/"
如果是用户AAA,那么 monserver_dir 就是
"/home/AAA/workspace/monserver/"

保存,退出。

--------------------------------------------------------------------
测试安装

到此为止,整个安装就完成了。下面是测试安装是否成功。

首先,启动redis-server(数据库server),打开个终端,在命令行下,执行
redis-server /etc/redis.conf

其次,启动mongrel web server:
cd ~/workspace/monserver/
m2sh start -db conf/config.sqlite -every
便启动了web服务器。

cd ~/workspace,建立一个示例工程
bamboo createapp apptest
会在当前目录下生成一个apptest目录。

进入apptest目录,执行
bamboo start
便启动了此工程。

便可以打开浏览器,在地址栏中输入
http://localhost:6767/
回车。如果正常的话,可以看到“Welcome to Bamboo.” 的字样。


如果从前到后都顺利执行完毕的话,整个系统到此便安装成功了。

---------------------------- END --------------------------

猜你喜欢

转载自daogangtang.iteye.com/blog/1126876