发表于 2015-7-9 08:29:20

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 Feb4 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)
mongod(_ZN5mongo12verifyFailedEPKcS1_j+0xc1)
mongod(_ZN5mongo4Lock26ParallelBatchWriterSupport6relockEv+0x429)
mongod(_ZN5mongo4Lock26ParallelBatchWriterSupportC1Ev+0x14)
mongod(_ZN5mongo4Lock10ScopedLockC1Ec+0x32)
mongod(_ZN5mongo4Lock10GlobalReadC1Ei+0x1e)
mongod(_ZN5mongo11readlocktryC1Ei+0x3c)
mongod(_ZN5mongo6dbexitENS_8ExitCodeEPKc+0x671)
mongod()
mongod(main+0x9)
/lib64/libc.so.6(__libc_start_main+0xfd)
mongod()
Mon Feb4 16:11:43 shutdown failed with exception
Mon Feb4 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
  
页: [1]
查看完整版本: linux下mongodb安装和安装php扩展笔记