php 编译安装 mongo,CentOS6 上的MongoDB 编译安装

MongoDB 是一个高性能分布式文件存储数据库,通常采用官方的二进制包进行安装,整理记录下手工编译的方法。

准备工作:

CentOS 6.x 64位系统,建议采用多核CPU,在多核并行编译时,物理内存不能少于8G,否则会频繁使用交换分区,导致编译时间过长。在 Xeon E3 1230 V2/8G 配置下编译大概耗时30分钟。

1.安装依赖的软件包

# yum install pcre-devel python-devel scons

3.使用Py 编译工具scons 进行编译并安装

# tar zxf mongdb-src.tar.gz

//解压

# cd mongodb-src

# scons -j 8 all               //使用8线程并行编译,推荐使用CPU核心数

# scons –prefix=/usr/local/mongo install

// 如果需要lib库和include头文件 需要加上 –full 参数如下:

# scons –prefix=/usr/local/mongo –full install

4.添加mongodb 用户和配置

# useradd mongodb -M -s /sbin/nologin

//创建目录,根据需要进行自定义

# mkdir -pv /etc/mongo                      //配置文件路径

# mkdir -pv /var/lib/mongo                 //数据存储路径

# mkdir -pv /var/log/mongo                //日志文件路径

# mkdir -pv /var/run/mongodb            //Pid 路径

//将源码包中的配置文件复制到 /etc/mongo 下

# cp mongodb-src/rpm/mongod.conf /etc/mongo

//给予日志和数据路径mongodb用户组访问权限

# chown -R mongodb.mongodb /var/log/mongodb

# chown -R mongodb.mongodb /var/lib/mongodb

5. 编辑配置文件

# vi /etc/mongo/mongod.conf

—–配置参考下面的路径进行或查阅配置说明文档——

dbpath = /var/lib/mongo

logpath = /var/log/mongo

pidfilepath = /var/run/mongodb/mongod.pid

directoryperdb = true

logappend = true

noauth = true

port = 27017

maxConns = 1024

fork = true

rest = true

quota = true

quotaFiles = 1024

nssize = 16

—–配置参考结束——

6.配置开机启动文件

//将下列脚本保存为 mongod 并存放在/etc/rc.d/init.d/ 下,并给与执行权限

#!/bin/sh

#

# mongodb init file for starting up the MongoDB server

#

# chkconfig: - 20 80

# description: Starts and stops the MongDB daemon that handles all \

# database requests.

# Source function library.

. /etc/rc.d/init.d/functions

exec="/usr/local/mongo/bin/mongod"

prog="mongod"

logfile="/var/log/mongodb/mongodb.log"

options=" -f /etc/mongo/mongod.conf"

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

lockfile="/var/lock/subsys/mongod"

start() {

[ -x $exec ] || exit 5

echo -n $"Starting $prog: "

daemon --user mongodb "$exec --quiet $options run >> $logfile 2>&1 &"

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}

stop() {

echo -n $"Stopping $prog: "

killproc $prog

retval=$?

echo

[ $retval -eq 0 ] && rm -f $lockfile

return $retval

}

restart() {

stop

start

}

reload() {

restart

}

force_reload() {

restart

}

rh_status() {

# run checks to determine if the service is running or use generic status

status $prog

}

rh_status_q() {

rh_status >/dev/null 2>&1

}

case "$1" in

start)

rh_status_q && exit 0

$1

;;

stop)

rh_status_q || exit 0

$1

;;

restart)

$1

;;

reload)

rh_status_q || exit 7

$1

;;

force-reload)

force_reload

;;

status)

rh_status

;;

condrestart|try-restart)

rh_status_q || exit 0

restart

;;

*)

echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"

exit 2

esac

exit $?

# chkconfig –add mongod

//设置为开机启动

# service mongod start

// 进行启动并测试27017端口是否开放,如果配置有误,请查阅 /var/log/mongo  下的日志输出信息

7. PHP的MongoDB 扩展安装

从 http://pecl.php.net/  搜索mongo 并获取最新稳定版的扩展包

# tar zxf mongo-1.3.0.tgz

# cd mongo-1.3.0

# /usr/local/php/bin/phpize

# ./configure –with-php-config=/usr/local/php/bin/php-config   // 注意php-config 安装路径

# make && make install

//解压并配置进行安装

编辑php.ini 配置文件在末行添加

extension=mongo.so

//如果之前从未安装其它扩展,需要先指定extension_dir 扩展目录

完成后重启PHP,查看phpinfo 有mongo 的项目出现则安装成功.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值