- 論壇徽章:
- 0
|
這篇博客是11年寫的了,不知道為什么,cu的博客沒有論壇人多,所以搬到這里,都是很淺顯的東西,不過也想和大家分享下
生產(chǎn)系統(tǒng)上使用的mongodb是官方編譯好的二進制程序,這段時間總是有些莫名的問題,就決定自己編譯安裝mongodb。
1、下載最新的mongo源碼包,pcre,epel,js
wget http://downloads.mongodb.org/src/mongodb-src-r1.8.1.tar.gz
wget http://download.fedoraproject.or ... ease-5-4.noarch.rpm
wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
wget http://sourceforge.net/projects/ ... 2/pcre-8.12.tar.bz2
2、安裝epel,scons,js,pcre
#安裝epel,然后再安裝scons和boost
rpm -ivh epel-release-5-4.noarch.rpm
yum -y install scons boost boost-devel
#安裝js
tar zxvf js-1.7.0.tar.gz
cd js/src/
export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
make -f Makefile.ref
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
tar xvf mongodb-src-r1.8.1.tar.gz
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
scons . #也可以用 scons all
scons --prefix=/usr/local/mongodb-1.8.1 --full install
5、修改系統(tǒng)動態(tài)鏈接庫配置
echo '/usr/local/pcre/lib' >> /etc/ld.so.conf
ldconfig
6、到這里mongo就安裝好了,可以生成一個啟動腳本,以方便啟動mongodb
mkdir /data/mongodb
cat > /usr/local/mongodb-1.8.1/start.sh <<EOF
/usr/local/mongodb-1.8.1/bin/mongod --dbpath=/data/mongodb --logpath /data/mongodb_log --oplogSize=512 &
EOF
chmod +x /usr/local/mongodb-1.8.1/start.sh
7、可以通過start.sh文件啟動mongodb了 |
|