当前位置: 代码迷 >> 综合 >> Yii2 – Mongodb的安装和配置 mongo
  详细解决方案

Yii2 – Mongodb的安装和配置 mongo

热度:23   发布时间:2023-09-14 20:38:46.0

Yii2 – Mongodb的安装和配置 mongo

mongodb官方安装文档:https://www.mongodb.com/download-center

下面是centos环境安装mongodb3.2的步骤

1.

sudo rpm --import https://www.mongodb.org/static/pgp/server-3.2.asc
  1. sudo rpm --import https://www.mongodb.org/static/pgp/server-3.2.asc
sudo rpm --import https://www.mongodb.org/static/pgp/server-3.2.asc
touch /etc/yum.repos.d/mongodb-org-3.2.repo
  1. touch /etc/yum.repos.d/mongodb-org-3.2.repo
touch /etc/yum.repos.d/mongodb-org-3.2.repo
vim /etc/yum.repos.d/mongodb-org-3.2.repo  
添加内容如下:  
[mongodb-org-3.2]  
name=MongoDB Repository  
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/  
gpgcheck=1  
enabled=1
  1. vim /etc/yum.repos.d/mongodb-org-3.2.repo
  2. 添加内容如下:
  3. [mongodb-org-3.2]
  4. name=MongoDB Repository
  5. baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
  6. gpgcheck=1
  7. enabled=1
vim /etc/yum.repos.d/mongodb-org-3.2.repo  
添加内容如下:  
[mongodb-org-3.2]  
name=MongoDB Repository  
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/  
gpgcheck=1  
enabled=1

 

sudo yum install -y mongodb-org
  1. sudo yum install -y mongodb-org
sudo yum install -y mongodb-org

2. vim /etc/selinux/config

SELINUX=disabled
  1. SELINUX=disabled
SELINUX=disabled

3. mongodb 安装完成,可以启动mongodb了

sudo service mongod start
  1. sudo service mongod start
sudo service mongod start

当然,我上面配置的是一个简单的mongodb,没有配置复制集和分片

安全ip连接设置:vim /etc/mongod.conf

net:port: 27017bindIp: 127.0.0.1
  1. net:
  2. port: 27017
  3. bindIp: 127.0.0.1
net:port: 27017bindIp: 127.0.0.1

port代表开放的访问端口,bindIp这个是一个安全ip配置,允许那些ip连接mongodb,如果设置成bind_ip = 0.0.0.0,代表任意ip,建议只写连接的ip,如果是本机,就填写127.0.0.1即可。

这个是一个安全设置,线上系统一定要注意,iptables设置,只允许部分ip访问该端口,其他的pass掉,而且mongodb也要设置。

另外,对于线上系统,最好是使用账号密码的方式连接,进一步增强安全性。

 

4.安装mongodb的php扩展 ext-mongodb

注意:Fecshop 支持php7,需要安装ext-mongodb扩展,注意,这是两个扩展,ext-mongo扩展只能在php5中使用, ext-mongodb可以在php5和php7中使用,php7不能使用ext-mongo扩展。

 

4.1安装php的ext-mongodb扩展(兼容php7,fecshop需要安装ext-mongodb扩展,而不是ext-mongo扩展,ext-mongo只能在php5中使用,ext-mongodb可以在php5,php7,VVMH中使用,这里只安装ext-mongodb扩展

https://pecl.php.net/package/mongodb下载mongodb的安装包,我的安装步骤如下:

wget https://pecl.php.net/get/mongodb-1.2.5.tgz
tar zxvf mongodb-1.2.5.tgz
cd mongodb-1.2.5
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
  1. wget https://pecl.php.net/get/mongodb-1.2.5.tgz
  2. tar zxvf mongodb-1.2.5.tgz
  3. cd mongodb-1.2.5
  4. /usr/local/php/bin/phpize
  5. ./configure --with-php-config=/usr/local/php/bin/php-config
  6. make && make install
wget https://pecl.php.net/get/mongodb-1.2.5.tgz
tar zxvf mongodb-1.2.5.tgz
cd mongodb-1.2.5
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

*php.ini中加入:

extension=mongodb.so
  1. extension=mongodb.so
extension=mongodb.so

 

重启php

对于mongodb的GUI,不要使用rockmongo了,现在有更好的工具:

你可以使用 RoboMongo GUI工具连接mongodb,下载地址 , 因为mongodb默认设置无密码,只允许127.0.0.1登录, 因此,可以使用RoboMongo的ssh方式登录,填写您的主机的ssh信息即可登录。(robomongo支持很多方式连接mongodb)

5.安装yii2-mongodb的扩展(如果您在安装fecshop,下面的步骤不需要操作)

插件地址:https://github.com/yiisoft/yii2-mongodb

在yii2的根目录下面运行:(已经安装composer)

composer require --prefer-dist yiisoft/yii2-mongodb
  1. composer require --prefer-dist yiisoft/yii2-mongodb
composer require --prefer-dist yiisoft/yii2-mongodb

完成后,mongodb的yii2扩展安装完成

6.配置

'mongodb' => ['class' => 'yii\mongodb\Connection',//'class' => 'backend\models\core\mongodb\Mconnection',# 有账户的配置//'dsn' => 'mongodb://demofancyecommerce:fdaVBDFS#fdfdtyg423DF23#$@localhost:27017/demofancyecommerce',# 无账户的配置'dsn' => 'mongodb://127.0.0.1:27017/market',//'dsn' => 'mongodb://10.10.10.252:10001/erp,mongodb://10.10.10.252:10002/erp,mongodb://10.10.10.252:10004/erp?replicaSet=terry&readPreference=primaryPreferred',
    ],
  相关解决方案