CentOS 編譯安裝 MongoDB與mongoDB的php擴充

來源:互聯網
上載者:User

下載  wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.4.tgz

 解壓縮 到/usr/local/mongo

建立設定檔

mkdir -p /usr/local/mongo/etc /usr/local/mongo/data /usr/local/mongo/log/ /usr/local/mongo/repair

vim  /usr/local/mongo/etc/mongo.conf

在mongo.conf中添加下面的內容

dbpath = /usr/local/mongo/data

logpath = /usr/local/mongo/mongodb.log

repairpath = /usr/local/mongo/repair

pidfilepath = /usr/local/mongo/mongodb.pid

directoryperdb = true

logappend = true

noauth = true

port = 27017

maxConns = 1024

fork = true

rest = true

quota = true

quotaFiles = 1024

nssize = 16

 

啟動mongodb

ln -s /usr/local/mongo/bin/mongod /usr/bin/mongod

mongod -f /usr/local/mongo/etc/mongo.conf

看看是不是啟動起來了,但是使用這種方式管理mongodb伺服器很不明智,我們完善一下:

mkdir -p /usr/local/mongo/srv

vim /usr/local/mongo/srv/mongodb-start

添加下面的內容

#!/bin/sh

mongod -f /usr/local/mongo/etc/mongo.conf

vim /usr/local/mongo/srv/mongodb-stop

添加下面的內容

#!/bin/bash

pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`;

if [ "${pid}" != "" ]; then

    kill -2 ${pid};

fi

添加執行許可權

chmod a+x /usr/local/mongo/srv/mongodb-start

chmod a+x /usr/local/mongo/srv/mongodb-stop

vim /etc/rc.d/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: /usr/local/mongo/etc/mongo.conf

# pidfile: /usr/local/mongo/mongodb.pid

PATH=/usr/local/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... "

        /usr/local/mongo/srv/mongodb-start

        ;;

  stop)

        echo -n "Stopping MongoDB... "

        /usr/local/mongo/srv/mongodb-stop

        ;;

      *)

            N=/etc/init.d/$NAME

            echo "Usage: $N {start|stop}" >&2

            exit 1

            ;;

    esac

    exit 0

添加服務

chmod a+x /etc/rc.d/init.d/mongodb

chkconfig --add mongodb

chkconfig --level 345 mongodb on

/etc/rc.d/init.d/mongodb start

 

php mongo 擴充安裝:

 

伺服器環境Cent OS 5.6 64位, php版本 5.2.17編譯安裝,安裝路徑/usr/local/php

 

首先下載最新的php mongodb擴充源碼,源碼可以在http://pecl.php.net/package/mongo下載到

wget http://pecl.php.net/get/mongo-1.2.2.tgz

tar zxf mongo-1.2.2.tgz

cd mongo-1.2.2

進入檔案夾後,首先運行phpize來準備編譯擴充的環境,phpize這個程式的介紹在這裡

 

/usr/local/php/bin/phpize

 

運行後執行結果如下:

  

Configuring for:

PHP Api Version:         20041225

Zend Module Api No:      20060613

Zend Extension Api No:   220060519

 

運行後,./configure 指令碼就會產生了,這個時候我們運行./configure指令碼來進行配置

./configure --with-php-config=/usr/local/php/bin/php-config

--with-php-config這個參數是告訴配置指令碼php-config這個程式的路徑,php-config的介紹在這裡

 上面命令在正確配置的環境下運行結果如下

 

creating libtool

appending configuration tag "CXX" to libtool

configure: creating ./config.status

config.status: creating config.h

 

這時用make來編譯擴充

make && make install

正確編譯執行結果如下:

 

Build complete.

Don't forget to run 'make test'.

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

 

完成後,請編輯你php.ini檔案增加一行

extension=mongo.so
一般預設的編譯php的ini檔案在
/usr/local/php/etc/php.ini

重啟你的web伺服器或者php-fpm,列印phpinfo,如果看到mongo項表,那麼mongodb的擴充安裝成功了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.