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 的 MonogoDB 擴展

  • 下載源碼包
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章