上一篇:搭建LNAMP環境(五)- PHP7源碼安裝Redis和Redis拓展
一、安裝MongoDB
1.創建mongodb用戶組和用戶
groupadd mongodb
useradd -r -g mongodb -s /sbin/nologin -M mongodb
2.下載mongodb源碼包,並將源碼包放到/usr/local/src/目錄下
下載頁面:https://www.mongodb.com/download-center?jmp=nav
這里用的是 mongodb-linux-x86_64-rhel62-3.2.10.tgz
下載地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.10.tgz
3.進入src/目錄
cd /usr/local/src/
4.解壓源碼包
tar -zxf mongodb-linux-x86_64-rhel62-3.2.10.tgz
5.創建mongodb文件目錄
mkdir -p /usr/local/mongodb/data mkdir -p /usr/local/mongodb/conf mkdir -p /var/run/mongodb mkdir -p /var/log/mongodb
6.將文件復制到mongodb/目錄
cp -R /usr/local/src/mongodb-linux-x86_64-rhel62-3.2.10/. /usr/local/mongodb
7.創建mongodb配置文件mongodb.conf
vim /usr/local/mongodb/conf/mongodb.conf
8.添加下面內容,保存退出
dbpath=/usr/local/mongodb/data #數據目錄存在位置 logpath=/var/log/mongodb/mongodb.log #日志文件存放目錄 logappend=true #寫日志的模式:設置為true為追加 fork=true #以守護程序的方式啟用,即在后台運行 verbose=true vvvv=true #啟動verbose冗長信息,它的級別有 vv~vvvvv,v越多級別越高,在日志文件中記錄的信息越詳細 maxConns=20000 #默認值:取決於系統(即的ulimit和文件描述符)限制。MongoDB中不會限制其自身的連接 pidfilepath=/var/run/mongodb/mongodb.pid directoryperdb=true #數據目錄存儲模式,如果直接修改原來的數據會不見了 profile=0 #數據庫分析等級設置,0 關 2 開。包括所有操作。 1 開。僅包括慢操作 slowms=200 #記錄profile分析的慢查詢的時間,默認是100毫秒 quiet=true syncdelay=60 #刷寫數據到日志的頻率,通過fsync操作數據。默認60秒 #port=27017 #端口 #bind_ip = 10.1.146.163 #IP #auth=true #開始認證 #nohttpinterface=false #28017 端口開啟的服務。默認false,支持 #notablescan=false#不禁止表掃描操作 #cpu=true #設置為true會強制mongodb每4s報告cpu利用率和io等待,把日志信息寫到標准輸出或日志文件
9.修改mongodb目錄權限
chown -R mongodb:mongodb /usr/local/mongodb chown -R mongodb:mongodb /var/run/mongodb chown -R mongodb:mongodb /var/log/mongodb
10.將mongodb命令加入環境變量,修改profile文件
vim /etc/profile
11.修改為下面內容,保存退出
PATH=/usr/local/mysql/bin:/usr/local/php/bin:/usr/local/redis/bin:/usr/local/mongodb/bin:$PATH
12.使/etc/profile里的配置立即生效
source /etc/profile
13.將mongodb服務腳本加入到init.d/目錄,創建mongod文件
vim /etc/init.d/mongod
14.加入下面內容,保存退出

#!/bin/sh # chkconfig: 2345 93 18 # description:MongoDB #默認參數設置 #mongodb 家目錄 MONGODB_HOME=/usr/local/mongodb #mongodb 啟動命令 MONGODB_BIN=$MONGODB_HOME/bin/mongod #mongodb 配置文件 MONGODB_CONF=$MONGODB_HOME/conf/mongodb.conf MONGODB_PID=/var/run/mongodb/mongodb.pid #最大文件打開數量限制 SYSTEM_MAXFD=65535 #mongodb 名字 MONGODB_NAME="mongodb" . /etc/rc.d/init.d/functions if [ ! -f $MONGODB_BIN ] then echo "$MONGODB_NAME startup: $MONGODB_BIN not exists! " exit fi start(){ ulimit -HSn $SYSTEM_MAXFD $MONGODB_BIN --config="$MONGODB_CONF" ret=$? if [ $ret -eq 0 ]; then action $"Starting $MONGODB_NAME: " /bin/true else action $"Starting $MONGODB_NAME: " /bin/false fi } stop(){ PID=$(ps aux |grep "$MONGODB_NAME" |grep "$MONGODB_CONF" |grep -v grep |wc -l) if [[ $PID -eq 0 ]];then action $"Stopping $MONGODB_NAME: " /bin/false exit fi kill -HUP `cat $MONGODB_PID` ret=$? if [ $ret -eq 0 ]; then action $"Stopping $MONGODB_NAME: " /bin/true rm -f $MONGODB_PID else action $"Stopping $MONGODB_NAME: " /bin/false fi } restart(){ stop sleep 2 start } case "$1" in start) start ;; stop) stop ;; status) status $prog ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|status|restart}" esac
15.為mongod添加可執行權限
chmod +x /etc/init.d/mongod
16.將mongodb加入系統服務
chkconfig --add mongod
17.修改服務的默認啟動等級
chkconfig mongod on
18.啟動mongodb
service mongod start
二、PHP7安裝MongoDB拓展
1.下載php7 mongodb拓展包,並將源碼包放到/usr/local/src/目錄下
下載頁面:http://pecl.php.net/package/mongodb
這里用的是 mongodb-1.1.9.tgz
下載地址:http://pecl.php.net/get/mongodb-1.1.9.tgz
2.進入src/目錄
cd /usr/local/src/
3.解壓拓展包
tar -zxf mongodb-1.1.9.tgz
4.進入mongodb拓展目錄,編譯安裝拓展
cd mongodb-1.1.9/ phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
5.修改php.ini文件
vim /usr/local/php/etc/php.ini
6.添加mongodb.so擴展配置,保存退出
extension=mongodb.so
7.重啟Apache或php-fpm
service httpd restart
service php-fpm restart
8.在web目錄下添加php文件,如/usr/local/apache/htdocs/mongodb.php 或 /usr/local/nginx/html/mongodb.php
<?php $manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017"); $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(['x' => 1, 'class'=>'toefl', 'num' => '18']); $bulk->insert(['x' => 2, 'class'=>'ielts', 'num' => '26']); $bulk->insert(['x' => 3, 'class'=>'sat', 'num' => '35']); $manager->executeBulkWrite('test.log', $bulk); $filter = ['x' => ['$gt' => 1]]; $options = [ 'projection' => ['_id' => 0], 'sort' => ['x' => -1], ]; $query = new MongoDB\Driver\Query($filter, $options); $cursor = $manager->executeQuery('test.log', $query); foreach ($cursor as $document) { print_r($document); }
訪問URL,如:http://192.168.8.9/mongodb.php
頁面顯示正常,則配置成功
MongoDB安裝完畢!