Magento接入MongoDB
MongoDB是非关系型数据库(nosql),属于文档型数据库。
可以替代MySQL,但不建议。原因当然不止不支持事务一个,但是单单这一个,就使得MongoDB无法完全取代MySQL。
个人一般在业务比较单一的情况下使用MongoDB,比如日志记录。
安装mongodb
官方文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
# vim /etc/yum.repos.d/mongodb-org-4.2.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
# sudu yum install -y mongodb-org
### 指定版本并禁止自动升级。与上一条命令二选一即可
# sudo yum install -y mongodb-org-4.2.5 mongodb-org-server-4.2.5 mongodb-org-shell-4.2.5 mongodb-org-mongos-4.2.5 mongodb-org-tools-4.2.5
# vim /etc/yum.conf
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
### 启动,停止,重启服务
service mongod start
service mongod stop
service mongod restart
配置mongodb
一般使用默认配置即可:
(1)如果单机,bindIp用127.0.0.1,提高安全性;如果web服务和mongodb不在同一台服务器,bindIp用0.0.0.0。只能二选一,其它都会导致重启失败(网上提供的绑定内网IP并没有用)。考虑完全的话,可以配合服务器防火墙,只允许指定IP访问mongodb绑定端口。
(2)启用验证。需要先进入mongodb创建管理员账号,再修改配置,然后重启mongodb。
### 进入mongo
# mongo
# 切换db,创建用户
use admin
db.createUser({ user:"yezhou", pwd:"123456", roles:[
{role: "root", db: "admin"}
]})
### 修改配置
# vim /etc/mongod.conf
security:
authorization: enabled
### 重启mongo
# service mongod restart
安装php扩展
yum -y install openssl openssl-devel
wget https://pecl.php.net/get/mongodb-1.8.0.tgz
tar zxf mongodb-1.8.0.tgz
cd mongodb-1.8.0
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config && make && make install
# 在php.ini加上扩展
extension=mongodb.so
# 重启php-fpm
service php-fpm restart
使用mongodb
为了能在php项目中使用mongodb执行curd操作,还需要先在项目根目录执行以下命令:
composer require mongodb/mongodb
具体的语法这里就不多说了,Mongodb的安装配置到这里也就结束了。
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/25/magento-access-mongodb/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论