linux下mongodb安装和安装php扩展笔记
我的系统是Centos 6.3 64位
uname -a
Linux nala-huangdd 2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
下载相应软件(没有装pcre的同时也得装,方法详见:《在Ubuntu 11.10 x64上 编译安装 php、mysql、nginx、xdebug等开发环境》,这里pcre安装的时候要加参数 --enable-unicode-properties
不然运行的时候会报一个错:
Mon Feb 4 16:11:43 Assertion failure c src/mongo/db/client.h 254
0x9a4f16 0x973de1 0x6935c9 0x693694 0x6936f2 0x693d7e 0x69402c 0x7396a1 0x5831d3 0x584299 0x3d6381ecdd 0x57abc9
mongod(_ZN5mongo15printStackTraceERSo+0x26) [0x9a4f16]
mongod(_ZN5mongo12verifyFailedEPKcS1_j+0xc1) [0x973de1]
mongod(_ZN5mongo4Lock26ParallelBatchWriterSupport6relockEv+0x429) [0x6935c9]
mongod(_ZN5mongo4Lock26ParallelBatchWriterSupportC1Ev+0x14) [0x693694]
mongod(_ZN5mongo4Lock10ScopedLockC1Ec+0x32) [0x6936f2]
mongod(_ZN5mongo4Lock10GlobalReadC1Ei+0x1e) [0x693d7e]
mongod(_ZN5mongo11readlocktryC1Ei+0x3c) [0x69402c]
mongod(_ZN5mongo6dbexitENS_8ExitCodeEPKc+0x671) [0x7396a1]
mongod() [0x5831d3]
mongod(main+0x9) [0x584299]
/lib64/libc.so.6(__libc_start_main+0xfd) [0x3d6381ecdd]
mongod() [0x57abc9]
Mon Feb 4 16:11:43 shutdown failed with exception
Mon Feb 4 16:11:43 dbexit: really exiting now
):
wget http://downloads.mongodb.org/src/mongodb-src-r2.2.3.tar.gz wget http://prdownloads.sourceforge.net/scons/scons-2.2.0.tar.gz wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz yum install -y boost boost-devel
tar zxvf scons-2.2.0.tar.gz cd cd scons-2.2.0 python setup.py install cd ../ 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 cd ../../ tar zxvf mongodb-src-r2.2.3.tar.gz cd mongodb-src-r2.2.3 scons all scons --prefix=/app/mongo install //如果需要安装lib和head,使用如下方式安装 //scons --prefix=/usr/local/mongo --full install mkdir -p /app/mongo/etc /app/mongo/data /app/mongo/log/ /app/mongo/repair
创建配置文件:
vim /app/mongo/etc/mongo.conf
内容:
dbpath = /app/mongo/data logpath = /app/mongo/mongodb.log repairpath = /app/mongo/repair pidfilepath = /app/mongo/mongodb.pid directoryperdb = true logappend = true noauth = true port = 27017 maxConns = 1024 fork = true rest = true quota = true quotaFiles = 1024 nssize = 16
启动方法:
ln -s /app/mongo/bin/mongod /usr/bin/ mongod -f /app/mongo/etc/mongo.conf
设置开机自启动
vim /etc/init.d/mongodb
输入内容:
#! /bin/sh # # mongodb – this script starts and stops the mongodb daemon # # chkconfig: - 85 15 # description: MongoDB is a non-relational database storage system. # processname: mongodb # config: /app/mongo/etc/mongo.conf # pidfile: /app/mongo/mongodb.pid PATH=/app/mongo/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=mongodb test -x $DAEMON || exit 0 set -e case "$1" in start) echo -n "Starting MongoDB... " mongod -f /app/mongo/etc/mongo.conf ;; stop) echo -n "Stopping MongoDB... " pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`; if [ "${pid}" != "" ]; then kill -2 ${pid}; fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop}" >&2 exit 1 ;; esac exit 0
增加执行权限,设置开机自启动
chmod +x /etc/init.d/mongodb chkconfig --add mongodb chkconfig --level 345 mongodb on
以后可以通过以下方法开启或者结束mongodb:
/etc/init.d/mongdb start #启动
/etc/init.d/mongdb stop #关闭
此笔记是安装后,大致整理,安装过程中可能还会有点小问题。
下面是php扩展
下载地址:https://github.com/mongodb/mongo-php-driver
unzip mongo-php-driver-master.zip cd mongo-php-driver-master phpize ./configure --with-php-config=/app/php5/bin/php-config make && make install
编辑php.ini
vim /app/php5/etc/php.ini
加入内容:
extension=mongo.so
重启php
/app/php5/sbin/php-fpm restart
浙公网安备 33010602011771号