MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
一、下载mongodb
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.0.tgz
二、解压缩mongodb
tar zxvf mongodb-linux-x86_64-rhel70-3.4.0.tgz
mv mongodb-linux-x86_64-rhel70-3.4.0 /usr/local/mongodb
创建mongodb存储目录和日志目录
mkdir -p /data/mongodb/data
mkdir -p /data/mongodb/log
三、创建mongodb运行脚本
vi /data/mongodb/mongodb
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/sh
DBPORT=27017
DBPATH="/data/mongodb/data"
DBLOG="/data/mongodb/logs/mongo.log"
DBSERVER="/usr/local/mongodb/bin/mongod"
function_start_mongodb()
{
printf "Starting Mongodb...\n"
$DBSERVER --dbpath=$DBPATH --logpath=$DBLOG --logappend --port=$DBPORT --fork
}
function_stop_mongodb()
{
printf "Stoping Mongodb...\n"
$DBSERVER --shutdown --dbpath=$DBPATH
}
function_restart_mongodb()
{
printf "Restarting Mongodb...\n"
function_stop_mongodb
sleep 5
function_start_mongodb
}
if [ "$1" = "start" ]; then
function_start_mongodb
elif [ "$1" = "stop" ]; then
function_stop_mongodb
elif [ "$1" = "restart" ]; then
function_restart_mongodb
else
printf "Usage: /data/mongodb/mongodb {start|stop|restart}\n"
fi
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
赋予shell脚本可执行权限:
chmod +x /data/mongodb/mongodb
启动mongodb:
/data/mongodb/mongodb start
如果出现以下信息,说明mongodb安装成功
child process started successfully, parent exiting
开机启动mongodb
vi /etc/rc.local
输入以下内容
/data/mongodb/mongodb start
保存退出
四、测试mongodb及创建验证帐户
进入mongodb管理界面
/usr/local/mongodb/bin/mongo
选择系统表
use admin;
创建超级管理员
db.createUser({user:"root",pwd:"123456",roles:["userAdminAnyDatabase"]});
退出mongodb
exit;
修改mongodb启动文件
vi /data/mongodb/mongodb
将
$DBSERVER --dbpath=$DBPATH --logpath=$DBLOG --logappend --port=$DBPORT --fork
修改为
$DBSERVER --dbpath=$DBPATH --logpath=$DBLOG --logappend --auth --port=$DBPORT --fork
保存退出以后,再重启mongodb
/data/mongodb/mongodb restart
进入mongodb管理界面
/usr/local/mongodb/bin/mongo
选择系统表
use admin;
进行验证:
db.auth("root","123456");
返回1,说明验证成功!
创建新的database及验证帐户
use testdb;
db.createUser({user:"test",pwd:"test",roles:[{"role":"readWrite","db":"testdb"}]});
退出mongodb,再按上面的验证方面执行,如果返回结果为1,说明配置正确。
五、安装mongodb的php扩展
下载地址 wget http://pecl.php.net/get/mongo-1.6.14.tgz
tar zxvf mongo-1.6.14.tgz
cd mongo-1.6.14
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
cd ../
六、配置php
1、修改php.ini文件
vi /usr/local/php/etc/php.ini
找到extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
在下面添加
extension = "mongo.so"
保存退出php.in
最后重启php.ini
/usr/local/php/php-fpm restart