Linux 下安装 MongoDB 、编译安装 PHP7 的 Mongodb 扩展

Linux 下安装 MongoDB

  • 下载
cd /usr/local/src
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.5.tgz
  • 解压
tar zxvf mongodb-linux-x86_64-rhel70-4.2.5.tgz
  • 移动目录
mv mongodb-linux-x86_64-rhel70-4.2.5 /usr/local/mongodb/
  • 配置环境变量
# 创建环境变量文件
vim /etc/profile.d/mongodb.sh

# 或:用户级别控制:
# vim ~/.bashrc

# 写入如下内容
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin

# 保存退出后生效
source /etc/profile.d/mongodb.sh
  • 创建相关目录和文件
mkdir -p /usr/local/mongodb/log
mkdir -p /usr/local/mongodb/data
mkdir -p /usr/local/mongodb/conf
  • 配置 MongoDB 配置文件
touch /usr/local/mongodb/conf/mongod.conf

## 写入如下内容
systemLog:
  destination: file
  logAppend: true
  path: /usr/local/mongodb/log/mongod.log

# where and how to store data.
storage:
  dbPath: /usr/local/mongodb/data
  journal:
    enabled: true

# how the process runs
processManagement:
  fork: true
  pidFilePath: /usr/local/mongodb/mongod.pid

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
  
## 保存退出
  • 启动服务
# 进入 bin 目录
cd /usr/local/mongodb/bin

# 启动 mongodb 服务
./mongod --config ../conf/mongod.conf 
  • 启动客户端
./mongo
  • 基本操作
# 查看当前实例下的数据库列表
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

# 切换当前数据库
> use test

#  像 user 集合中插入一条数据
> db.user.insert({"id": 1})

# 查看插入 到 user 集合中的数据
> db.user.find({"id": 1})
# 返回
{ "_id" : ObjectId("5e98b3909f9d9749154c6574"), "id" : 1 }

# 另:MongoDB 界面管理软件:https://robomongo.org/
  • 设置用户名和密码
> use admin

# 设置用户名和密码
> db.createUser({ user: 'root', pwd: 'asdf', roles: [{ role: 'root', db: 'admin'}]})
> exit

# 重启数据库
cd /usr/local/mongodb/bin
./mongod --auth --config ../conf/mongod.conf 

# 客户端验证方法 1:
./mongo -u "root" -p "asdf" --authenticationDatabase "admin"

# 验证方法 2:
> use admin
> db.auth("root", "asdf")
  • 安装出现的问题
# 问题(以及 libssl.so.10):
# /bin/mongod: error while loading shared libraries: libcrypto.so.10

# 解决方案 1(已验证)
# 查找系统是否有该文件
find / -name libcrypto.so.10

# 如果有,复制到 /usr/local/lib 并软连接
cp /xx/xx/libcrypto.so.10 /usr/local/lib
ln /usr/local/lib/libcrypto.so.10 /usr/lib/libcrypto.so.10

# 解决方案 2(未验证)
# 查找文件的 1.0.0 版本,并软连接
find / -name libcrypto.so.1.0.0

编译安装 PHP7 的 Mongodb 扩展

  • mongo 扩展已经废弃,mongodb 扩展支持 PHP7
  • 下载源码包
cd /usr/local/src
wget http://pecl.php.net/get/mongodb-1.7.4.tgz
  • 解压缩
tar zxvf mongodb-1.7.4.tgz
  • 编译三部曲
# 进入源码目录
cd mongodb-1.7.4

# 通过 phpize 建立 PHP 的外挂模块,生成 configure
/usr/local/php/bin/phpize

# 配置
./configure --with-php-config=/usr/local/php/bin/php-config

# 配置安装 && 编译安装
make && make install
  • 配置 php.ini
echo "[mongodb]" >> /usr/local/php/etc/php.ini
echo "extension = mongodb.so" >> /usr/local/php/etc/php.ini

# 重启 Nginx 和 PHP
systemctl restart nginx
/etc/init.d/php-fpm restart

# 查看是否安装成功
php -m
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值