注意事项:
1、对于mongodb3.x php的mongo扩展要使用1.6以上,当时因为这个问题调试挺久,发现php的mongo扩展使用的1.4,总是连不上
2、mongodb3.x和mongodb2.x的安全认证机制不一样,mongodb3.x创建用户使用db.createUser,mongodb2.x使用db.addUser
3、mongodb的客户端管理工具NoSQL Manager for MongoDB(收费,功能强大)和rockmongo(纯php开发,网页版)
4、杀进程停掉mongodb服务不要用kill -9 ,不然可能会造成数据丢失
一、安装mongodb3.0.1服务端
1、环境准备:
#mkdir /usr/local/mongodb //创建MongoDB程序存放目录
#mkdir /data/mongodata -p //创建数据存放目录
#mkdir /data/log/mongolog -p //创建日志存放目录
2、下载:
#curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.1.tgz
3、安装:
#tar xf mongodb-linux-x86_64-rhel62-3.0.1.tgz
#cd mongodb-linux-x86_64-rhel62-3.0.1
#cp -r * /usr/local/mongodb
4、启动服务 以配置文件启动,先不要加auth参数,下一步安全认证设置好后再开启
#vi /usr/local/mongodb/bin/mongodb.conf
dbpath = /data/mongodb/db #数据文件存放目录
logpath = /data/mongodb/logs/mongodb.log #日志文件存放目录
bind_ip = 127.0.0.1,192.168.10.111
port = 27017
#端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true
nohttpinterface = true
#:wq!
#/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf &
5、开启安全认证,默认安装不需用户名和密码就可以连接,很不安全
#/usr/local/mongodb/bin/mongo
use admin
db.createUser({user: "root", pwd: "123456",roles: [ { role: "root", db: "admin" } ]})
#创建超级管理员
db.auth("root","123456"); #认证帐号
db.system.users.find(); #查看当前已有的用户信息
use testdb
#需认证的库
db.createUser({user: "testdb", pwd: "123456",roles: [ { role: "readWrite", db: "testdb" } ]}) #库管理员
use testdb
#测试
db.auth("testdb","123456");
> db.auth("testdb","123456");
1
6、关闭mongodb,这里使用杀进程方式,也可用db.shutdownServer()进行
#ps -ef|grep mongo
root 1761 1 1 09:48 ? 00:03:27 /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
#kill 1761
7、以安全认证方式启动mongodb服务
#vi /usr/local/mongodb/bin/mongodb.conf
dbpath = /data/mongodb/db #数据文件存放目录
logpath = /data/mongodb/logs/mongodb.log #日志文件存放目录
bind_ip = 127.0.0.1,118.244.214.251
port = 27017
#端口
fork = true #以守护程序的方式启用,即在后台运行
auth=true #注意这里要开启
nohttpinterface = true
#:wq!
#/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf &
8、设置开机启动
#vi /etc/rc.d/rc.local
在文件中加入:
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
二、安装php mongo扩展
1、安装mongo扩展
#wget http://pecl.php.net/get/mongo-1.6.11.tgz
#tar zxvf mongo-1.6.11.tgz #解压
#cd mongo-1.6.11
#/usr/bin/phpize
#./configure --with-php-config=/usr/bin/php-config
#make && make install #编译安装,成功后会提示扩展安装到哪个目录
32位系统在 Installing shared extensions: /usr/lib/php/modules/
64位系统在 Installing shared extensions: /usr/lib64/php/modules/
2、php加载扩展
#vi /etc/php.ini
extension_dir = "/usr/lib64/php/modules"
extension="mongo.so"
#:wq! #保存退出
3、重新加载php-fpm
#service php-fpm reload
4、测试,查看phpinfo信息,如下图所示: