linux下安装mongodb

安装MongoDB数据库

 

环境:

CentOs6.8

64位系统

php7

Mysql5.6

 

1.官网下载对应版本的mongodb,下载地址 https://www.mongodb.org/downloads#production

2.通过FileZilla将刚下载的安装包mongodb-linux-x86_64-3.4.3.tgz上传到测试服务器的/tmp目录下,
a) 执行命令tar -zxvf mongodb-linux-x86_64-3.4.3.tgz解压到当前目录下(/tmp)

3.执行如下命令复制文件夹到/usr/local/mongodb目录

 

 cp -r  mongodb-linux-x86_64-3.4.3 /usr/local/mongodb


4、 MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中

执行命令

vim /etc/profile

并添加

#set mongodb command 
export PATH=/usr/local/mongodb/bin:$PATH

 

执行如下命令使配置生效

source /etc/profile


5、 创建数据库目录,目录为/data/mongodb

 

 cd /usr/local/mongodb
 mkdir data


6.、启动mongodb,这里指定数据库目录选项为/data/mongodb

mongod --dbpath /usr/local/mongodb/data


看到如下图提示则启动成了!

 

7、 配置mongodb,执行如下命令

vi /usr/local/mongodb/mongodb.conf


并将下面配置复制进去

port=27017 #端口号

dbpath=/usr/local/mongodb/data/ #数据库路径

#rest=true #设置后打开28017网页端口

logpath=/usr/local/mongodb/log/mongodb.log #日志输出文件路径 需要自己创建log目录

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

fork=true #设置后台运行

logappend=true #日志输出方式

shardsvr=true

#directoryperdb=true

#auth=true  #开启认证

 

8、 添加mongodb为系统服务,并设置开机启动
1) 添加mongodb系统服务

vim /etc/rc.d/init.d/mongod


将下面配置粘贴进去,保存

#!/bin/sh

# chkconfig: - 64 36

# description:mongod

case $1 in

start)

/usr/local/mongodb/bin/mongod  --maxConns 20000  --config /usr/local/mongodb/mongodb.conf

;;

stop)

/usr/local/mongodb/bin/mongod 127.0.0.1:27017/admin --eval "db.shutdownServer()"

;;

status)

/usr/local/mongodb/bin/mongod 127.0.0.1:27017/admin --eval "db.stats()"

;;

esac


2) 添加脚本执行权限

chmod +x /etc/rc.d/init.d/mongod 


3)设置开机启动

chkconfig mongod on


4)启动mongodb,如下图启动成功

9.、设置远程访问,即对外开发端口27017,28017
MongoDB 的 Web 界面访问端口比服务的端口多1000。
如果你的MongoDB运行端口使用默认的27017,你可以在端口号为28017访问web用户界面。
1) 编辑iptables文件

vim /etc/sysconfig/iptables


增加如下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 28017 -j ACCEPT


2) 重启iptables服务

service iptables restart


10. 分配用户
1)mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。
2)切换到admin数据库,添加的账号才是管理员账号。
3)用户只能在用户所在数据库登录,包括管理员账号。
4) 管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。这一点比较怪
执行如下命令添加用户

> use admin
> db.createUser({user:"admin",pwd:"123456",roles:["readWrite","dbAdmin"]});


要在登录时使用用户名,还要修改配置文件

vim /usr/local/mongodb/mongodb.conf


把auth=true前面的#去掉,重启mongodb
再直接执行命令时就提示用户名认证了

> show dbs
2016-04-08T15:52:54.649+0800 E QUERY    [thread1] Error: listDatabases failed:{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
    "code" : 13
} :


认证:

> use admin
switched to db admin
> db.auth("admin","123456");
1

 

安装PHP MongoDB扩展

 

 

 

 

一、下载Mongodb-php扩展安装包

可以从Github上面下载,地址是https://pecl.php.net/package/mongodb

自己根据php版本下载相应版本扩展。

下载好的文件放到随意一个目录,然后进行解压。
安装前需要安装好一系列的编译工具,如果已经安装,可以跳过此步。

安装编译工具

yum install php-devel php-pear gcc gcc-c++ autoconf automake

 

还需要安装openssl-devel

yum install openssl-devel

 

 

至此,所有的前期工作已经准备完毕。

 

二、编译安装mongodb-php扩展

我下载到的mongodb-php扩展文件的文件名是mongodb-1.2.9.tgz,放到 / 目录下。

解压mongodb-1.2.9.tgz到mongo-php.然后进入mongodb-php目录

tar -zxvf mongodb-1.2.9.tgz
mv mongodb-1.2.9 mongodb-php

cd mongodb-php
phpize
./configure --with-php-config=/usr/local/php7/bin/php-config #你的服务器php地址
make
make install

 

 

 

如果安装过程中没有问题的话,在make install后会出现php的驱动目录,例如:

Installing shared extensions:   /usr/lib64/php/modules/

要在 PHP 启动的时候加载这个扩展,在/etc/php.ini中添加以下代码:

[MongoDB]
extension=mongodb.so

 

 

三、重启Apache服务

service httpd restart


输出phpinfo();如果看到mongodb就表示安装成功了。

 

 

四、测试PHP代码连接MongoDB

try{
  $manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
}catch(Exception $e){
  echo $e->getMessage();
}

 

不报错,则为成功;至于为神马连接的是manager 是因为mongodb更新连接如此。

注意:下载扩展为mongodb,本人安装的时候测试安装mongo扩展,没有什么效果

因为时间关系有几张图不是现在的图,但不影响安装过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值