91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RHEL6.7下通用二進制包如何安裝MongoDB 3.2.4與mongoDB的php擴展

發布時間:2021-11-03 10:47:01 來源:億速云 閱讀:158 作者:柒染 欄目:關系型數據庫

RHEL6.7下通用二進制包如何安裝MongoDB 3.2.4與mongoDB的php擴展,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

一、軟件介紹
   MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似于json的bjson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言, 幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

它的特點是高性能、易部署、易使用,存儲數據非常方便。主要功能特性有:
面向集合存儲,易存儲對象類型的數據。
模式自由。
支持動態查詢。
支持完全索引,包含內部對象。
支持查詢。
支持復制和故障恢復。
使用高效的二進制數據存儲,包括大型對象(如視頻等)。
自動處理碎片,以支持云計算層次的擴展性
支持RUBY,PYTHON,JAVA,C++,PHP等多種語言。
文件存儲格式為BSON(一種JSON的擴展)
可通過網絡訪問

  MongoDB是開源文檔數據庫,提供共性能、高可用、自動擴展等。MongoDB中記錄是文檔,其是字段和值組成的對結構。MongoDB文檔類似JSON對象,字段的值可以包含其它文檔、數組、文檔的數組。記錄組織成collection,相當于表。參考下圖:
RHEL6.7下通用二進制包如何安裝MongoDB 3.2.4與mongoDB的php擴展
使用文檔的優點是:
文檔對應很多編程語言的內生數據對象
內嵌文檔和數組減少了join的開銷
動態schema支持順暢多態

關鍵功能:
高性能:
mongodb提供高性能數據持久。特別是:
支持內嵌數據模型減少了數據庫系統的I/O
索引支持快速查詢且內嵌文檔和數組可以包含鍵

高可用:
mongodb提供高可用的是replica sets
自動失敗切換
數據冗余
replica set是一組mongodb服務器,它們維護這同一個數據集,提供冗余,增加數據可用性。

自動水平擴展:
水平擴展是mongodb的內核功能。
在集群上自動共享分布式數據
replica sets能為低延遲,高吞吐量的應用提供最終一致性讀。

二、安裝環境:
[root@xuegod63 ~]# uname -a
Linux xuegod63.cn 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

[root@xuegod63 ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.7 (Santiago)
Kernel \r on an \m

軟件:mongodb-linux-x86_64-rhel62-3.2.4.tgz

三、下載安裝
[root@xuegod63 ~]# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.4.tgz
or
[root@xuegod63 ~]# wget -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.4.tgz  # 下載
[root@xuegod63 ~]# tar -zxvf mongodb-linux-x86_64-rhel62-3.2.4.tgz                                 # 解壓
[root@xuegod63 ~]# mv mongodb-linux-x86_64-rhel62-3.2.4 /usr/local/mongodb                         # 將解壓包拷貝到指定目錄

四、環境變量配置
MongoDB的可執行文件位于bin目錄下,所以可以將其添加到PATH路徑中:
[root@xuegod63 ~]# vim .bash_profile
PATH=$PATH:/usr/local/mongodb/bin 
[root@xuegod63 ~]# source .bash_profile

五、創建數據庫存放目錄
   MongoDB的數據存儲在data目錄的db目錄下,但是這個目錄在安裝過程不會自動創建,所以需要手動創建data目錄,并在data目錄中創建db目錄。以下實例中我們將data目錄創建于根目錄下(/)。
注意:/data/db是MongoDB默認的啟動的數據庫路徑(--dbpath)。
[root@xuegod63 ~]# mkdir -p /usr/local/mongondb/{data,logs}

設置ulimit -n和ulimit -u的值大于20000。如果ulimit的值設置過低的話,當MongoDB處于頻繁訪問的狀態下,將會產生錯誤,最終導致無法連接到MongoDB實例。
[root@xuegod63 ~]# ulimit -n 25000
[root@xuegod63 ~]# ulimit -u 25000

六、創建用戶mongo
[root@xuegod63 ~]# useradd -r mongo
[root@xuegod63 ~]# chown -R mongo:mongo /usr/local/mongondb/data/

七、添加配置文件啟動
①可以在/usr/local/mongodb/bin/目錄下使用命令:  
[root@xuegod63 ~]# mongod

②在/usr/local/mongodb/下創建conf目錄添加配置文件
[root@xuegod63 ~]# mkdir -p /usr/local/mongodb/conf
[root@xuegod63 ~]# vim /usr/local/mongodb/conf/mongodb.conf
dbpath=/usr/local/mongodb/data                   //數據文件存放目錄
logpath=/usr/local/mongodb/logs/mongodb.log      //日志文件存放目錄
bind_ip=127.0.0.1,192.168.1.63                   //只允許通過局域網IP:192.168.1.63及本機訪問
port=27017                                       //端口
fork=true                                        //以守護進程的方式啟用,即在后臺運行
master=true
verbose = true
vvvv = true
maxConns = 5000                                  //最大同時連接數 默認2000
objcheck = true
logappend=true                                   //使用追加的方式寫日志
shardsvr=true
directoryperdb=true                               //每個數據庫使用一個目錄
nohttpinterface=true
noauth=true                                       //不啟用驗證
rest=false

③手動開啟服務
[root@xuegod63 ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf  
or
[root@xuegod63 ~]# mongod --config /usr/local/mongodb/conf/mongodb.conf
[root@xuegod63 ~]# ps -efl |grep mongod |grep -v grep
1 S root      14338      1  2  80   0 - 104363 poll_s 19:17 ?       00:00:03 mongod --config /usr/local/mongodb/conf/mongodb.conf
[root@xuegod63 ~]# netstat -tunlp |grep mongod
tcp        0      0 127.0.0.1:27017             0.0.0.0:*                   LISTEN      14338/mongod

八、設置開機啟動
方法一、添加開機腳本
①在/etc/init.d/目錄下添加mongod腳本,腳本內容如下:
#!/bin/bash
#chkconfig: 2345 80 90
#description: mongodb
start() {
      /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
}
stop() {
      /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf --shutdown
}
case "$1" in
        start)
        start
        ;;
        stop)
        stop
        ;;
        restart)
        stop
        start
        ;;
        *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac

②添加腳本執行權限  
[root@xuegod63 ~]# chmod +x /etc/init.d/mongod

③設置開機啟動 
[root@xuegod63 ~]# chkconfig mongond --add
[root@xuegod63 ~]# chkconfig mongond on 
[root@xuegod63 init.d]# service mongod restart
killing process with pid: 15302
about to fork child process, waiting until server is ready for connections.
forked process: 15430
child process started successfully, parent exiting
[root@xuegod63 init.d]# ps -efl |grep mongod |grep -v grep
1 S root      15525      1  2  80   0 - 80141 poll_s 19:47 ?        00:00:01 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
[root@xuegod63 init.d]# netstat -tunlp |grep mongod
tcp        0      0 127.0.0.1:27017             0.0.0.0:*                   LISTEN      15724/mongod

方法二、將啟動進程添加到/etc/rc.local中
[root@xuegod63 ~]# echo "/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --fork" >> /etc/rc.local
[root@xuegod63 ~]# service mongod stop
killing process with pid: 16781
[root@xuegod63 ~]# ps -efl |grep mongod |grep -v grep 
[root@xuegod63 ~]# /usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --fork  
about to fork child process, waiting until server is ready for connections.
forked process: 16897
child process started successfully, parent exiting
//不需要密碼的登錄方式
[root@xuegod63 ~]# /usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --port=27017 --fork --auth
//需要權限的登錄方式, 用戶連接需要用戶名和密碼
[root@xuegod63 ~]# ps -efl |grep mongod |grep -v grep
1 S root      16897      1  2  80   0 - 98274 poll_s 20:26 ?        00:00:00 /usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --fork  
[root@xuegod63 ~]# netstat -tunlp |grep mongod
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      16897/mongod 

九、設置防火墻方便局域網內的其它服務器訪問
[root@xuegod63 ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
[root@xuegod63 ~]# /etc/init.d/iptables save
[root@xuegod63 ~]# /etc/init.d/iptables restart

十、連接測試
[root@xuegod63 ~]# mongo
MongoDB shell version: 3.2.4
connecting to: test
Server has startup warnings: 
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] 
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] 
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] 
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-03-30T05:09:28.032+0800 I CONTROL  [initandlisten] 

>

#查看當前數據庫
> db
test

#切到數據庫 mydb
> use mydb
switched to db mydb
> db
mydb

#用javascript創建兩個文檔
> j = { name : "mongo" }
{ "name" : "mongo" }
> k = { x : 3 }
{ "x" : 3 }

#創建mydb數據庫和testdata collection
> db.testdata.insert(j)
WriteResult({ "nInserted" : 1 })
> db.testdata.insert(k);
WriteResult({ "nInserted" : 1 })
> show collections
system.indexes
testdata
> db.testdata.find()
{ "_id" : ObjectId("54ddd717d692cfe0bd20d983"), "name" : "mongo" }
{ "_id" : ObjectId("54ddd728d692cfe0bd20d984"), "x" : 3 }
> show dbs
admin  (empty)
local  0.078GB
mydb  0.078GB
> use hahadb
switched to db hahadb
> show dbs
admin  (empty)
local  0.078GB
mydb  0.078GB
> db
hahadb
> j = { name : "mongo" }
{ "name" : "mongo" }
> show dbs
admin  (empty)
local  0.078GB
mydb  0.078GB
> db.testdata.insert(j)
WriteResult({ "nInserted" : 1 })
> show dbs
admin  (empty)
hahadb  0.078GB
local  0.078GB
mydb    0.078GB
> use mydb
switched to db mydb
> show collections
system.indexes
testdata
> db.testdata.insert(j)
WriteResult({ "nInserted" : 1 })
> db.testdata.find()
{ "_id" : ObjectId("54ddd717d692cfe0bd20d983"), "name" : "mongo" }
{ "_id" : ObjectId("54ddd728d692cfe0bd20d984"), "x" : 3 }
{ "_id" : ObjectId("54ddda64d692cfe0bd20d986"), "name" : "mongo" }
> db.testdata.insert(k)
WriteResult({ "nInserted" : 1 })
> db.testdata.find()
{ "_id" : ObjectId("54ddd717d692cfe0bd20d983"), "name" : "mongo" }
{ "_id" : ObjectId("54ddd728d692cfe0bd20d984"), "x" : 3 }
{ "_id" : ObjectId("54ddda64d692cfe0bd20d986"), "name" : "mongo" }
{ "_id" : ObjectId("54ddda7dd692cfe0bd20d987"), "x" : 3 }
> db.testdata.find({x:3})
{ "_id" : ObjectId("54ddd728d692cfe0bd20d984"), "x" : 3 }
{ "_id" : ObjectId("54ddda7dd692cfe0bd20d987"), "x" : 3 }
> exit;
[root@xuegod63 ~]# 
參考:
docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/

十一、圖形化管理(類似phpmyadmin) 
http://code.google.com/p/rock-php/wiki/rock_mongo_zh
下載解壓修改config.php為對應的地址及端口,使用admin:admin訪問即可。

十二、備份及恢復現有數據庫(數據庫名為blog備份到/backup目錄下
[root@xuegod63 ~]# /usr/local/mongodb/bin/mongodump -h 127.0.0.1 -d blog -o /backup/blog.dmp
[root@xuegod63 ~]# /usr/local/mongodb/bin/mongorestore -h 127.0.0.1 -d blog /backup/ddc.dmp

十三、php mongo擴展安裝:
php版本5.2.17編譯安裝,安裝路徑/usr/local/php
13.1、下載mongodb擴展源碼
源碼在http://pecl.php.net/package/mongo下載到
[root@xuegod63 ~]# wget http://pecl.php.net/get/mongo-1.2.2.tgz
[root@xuegod63 ~]# tar -zxvf mongo-1.2.2.tgz
[root@xuegod63 ~]# cd mongo-1.2.2

13.2、執行phpize來準備編譯擴展的環境
[root@xuegod63 ~]# /usr/local/php/bin/phpize
運行后執行結果如下:
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519 

13.3、配置php mongo擴展
[root@xuegod63 ~]# ./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

13.4、編譯安裝擴展
[root@xuegod63 ~]# 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/

13.5、編輯php.ini文件
[root@xuegod63 ~]# vim /usr/local/php/etc/php.ini 
extension=mongo.so
一般默認的編譯php的ini文件在/usr/local/php/etc/php.ini

13.6、重啟服務驗證安裝結果
測試:
[root@xuegod63 ~]# cd /var/www/html
[root@xuegod63 ~]# vim index.php       #編輯輸入下面內容
<?php
phpinfo();
?>
:wq! #保存退出
重啟服務:
[root@xuegod63 ~]# service httpd restart
or
[root@xuegod63 ~]# service php-fpm restart
在客戶端瀏覽器輸入服務器IP地址,如果可以看到mongo相關的配置信息!那么mongodb的擴展就安裝成功了。
http://localhost/index.php

RHEL6.7下通用二進制包如何安裝MongoDB 3.2.4與mongoDB的php擴展

看完上述內容,你們掌握RHEL6.7下通用二進制包如何安裝MongoDB 3.2.4與mongoDB的php擴展的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉黎县| 攀枝花市| 桂东县| 诸暨市| 金堂县| 华宁县| 江口县| 涡阳县| 闽侯县| 华阴市| 赤水市| 海盐县| 清镇市| 综艺| 新安县| 色达县| 大化| 广德县| 宜黄县| 来宾市| 潢川县| 湖南省| 鄱阳县| 长泰县| 虹口区| 静安区| 吕梁市| 花莲县| 双柏县| 蚌埠市| 交口县| 剑河县| 南靖县| 九台市| 林周县| 北安市| 拜城县| 九江县| 太保市| 门头沟区| 佛山市|