Chinaunix首页 | 论坛 | 博客
  • 博客访问: 207987
  • 博文数量: 39
  • 博客积分: 1057
  • 博客等级: 准尉
  • 技术积分: 926
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-27 20:13
文章分类

全部博文(39)

文章存档

2012年(24)

2011年(15)

分类: LINUX

2011-05-27 20:43:14

生产系统上使用的mongodb是官方编译好的二进制程序,这段时间总是有些莫名的问题,就决定自己编译安装mongodb。

1、下载最新的mongo源码包,pcre,epel,js

  1. wget
  2. wget
    wget
  3. wget
2、安装epel,scons,js,pcre

  1. #安装epel,然后再安装scons和boost

  2. rpm -ivh epel-release-5-4.noarch.rpm
  3. yum -y install scons boost boost-devel

  4. #安装js

  5. tar zxvf js-1.7.0.tar.gz
  6. cd js/src/
  7. export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
  8. make -f Makefile.ref
  9. JS_DIST=/usr gmake -f Makefile.ref export

 #安装pcre

 tar vxf pcre-8.12.tar.bz2
 cd pcre-8.12
 ./configure --prefix=/usr/local/pcre --enable-utf8 --enable-unicode-properties
 make && make install
#在安装mongo的时候,提示找不到pcrecpp的头文件的话,就将安装的pcre的头文件拷贝到/usr/include下面
 cp /usr/local/pcre/include/* /usr/include/


3、准备安装mongodb

  1. tar xvf mongodb-src-r1.8.1.tar.gz
  2. cd mongodb-src-r1.8.1
#修改mongodb-src-r1.8.1目录下的SConstruct文件,要不然编译的时候找不到pcre,会报错

elif "linux2" == os.sys.platform:  #修改这个段,大概在420行左右
    linux = True
    platform = "linux"

    if os.uname()[4] == "x86_64" and not force32:
        linux64 = True
        nixLibPrefix = "lib64"
        env.Append( LIBPATH=["/usr/lib64" , "/lib64","/usr/local/pcre/lib" ] ) #这里把安装的pcre的lib指定
        env.Append( LIBS=["pthread"] )
        env.Append( LIBS=["libpcrecpp"] )  #这里给出pcrecpp的库名


4、安装mongo

  1. scons . #也可以用 scons all
  2. scons --prefix=/usr/local/mongodb-1.8.1 --full install
5、修改系统动态链接库配置

  1. echo '/usr/local/pcre/lib' >> /etc/ld.so.conf
  2. ldconfig

6、到这里mongo就安装好了,可以生成一个启动脚本,以方便启动mongodb

  1. mkdir /data/mongodb

  2. cat > /usr/local/mongodb-1.8.1/start.sh <<EOF
  3. /usr/local/mongodb-1.8.1/bin/mongod --dbpath=/data/mongodb --logpath /data/mongodb_log --oplogSize=512 &
  4. EOF

  5. chmod +x /usr/local/mongodb-1.8.1/start.sh
7、可以通过start.sh文件启动mongodb了,

chinaunix的第一篇博客,希望对刚接触mongo的朋友有所帮助,以后会经常更新的。










阅读(3348) | 评论(0) | 转发(1) |
0

上一篇:没有了

下一篇:perl 的几个常用的基础函数

给主人留下些什么吧!~~