在CentOS上配置MongoDB網絡時,有幾個關鍵步驟和技巧需要注意,以確保數據庫的高效運行和安全性。以下是一些詳細的配置技巧:
安裝 EPEL 倉庫:
sudo yum install epel-release
安裝 MongoDB:
sudo yum install mongodb-org
啟動并啟用 MongoDB 服務:
sudo systemctl start mongod
sudo systemctl enable mongod
驗證安裝:
sudo systemctl status mongod
下載并解壓 MongoDB 源代碼:
wget https://www.mongodb.com/try/download/community
tar -xvf mongodb-linux-x86_64-rhel70-4.4.4.tgz
cd mongodb-linux-x86_64-rhel70-4.4.4
創建數據存儲目錄:
sudo mkdir -p /data/db
編譯并安裝 MongoDB:
sudo yum groupinstall "Development Tools"
sudo yum install libcurl-devel openssl-devel
sudo npm install -g mongodb-prebuilt
sudo prebuild --arch=x86_64 --dbpath=/data/db --prefix=/usr/local/mongodb
創建并配置 mongod.conf
文件:
sudo nano /etc/mongod.conf
內容示例:
storage:
dbPath: /data/db
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
bindIp: 0.0.0.0
port: 27017
security:
authorization: enabled
啟動 MongoDB 服務:
sudo mongod --config /etc/mongod.conf
啟用開機自啟動:
sudo systemctl enable mongod
檢查服務狀態:
sudo systemctl status mongod
數據存儲路徑:
storage:
dbPath: /var/lib/mongo
網絡配置:
net:
bindIp: 0.0.0.0
port: 27017
日志配置:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
安全配置:
security:
authorization: enabled
安裝 firewalld(如果尚未安裝):
sudo yum install firewalld
啟動并啟用 firewalld 服務:
sudo systemctl start firewalld
sudo systemctl enable firewalld
允許 MongoDB 端口:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
查看防火墻狀態:
sudo firewall-cmd --state
查看防火墻規則:
sudo firewall-cmd --list-all
查看默認端口:
netstat -tuln | grep 27017
修改端口(如果需要):
編輯 mongod.conf
文件,修改 net.port
配置項,然后重啟 MongoDB 服務。
允許遠程訪問:
在 mongod.conf
文件中,將 bindIp
設置為 0.0.0.0
,以允許外部訪問。
net:
bindIp: 0.0.0.0
認證配置: 啟用認證并創建用戶:
sudo mongo
use admin
db.createUser({
user: "root",
pwd: "your_password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
編輯 mongod.conf
文件,啟用認證:
security:
authorization: enabled
查看日志:
tail -f /var/log/mongodb/mongod.log
使用 mongostat
和 mongotop
監控性能:
sudo yum install mongostat mongotop
mongostat
mongotop
通過以上步驟和技巧,您可以在CentOS上高效地配置和管理MongoDB的網絡設置,確保其高性能和安全性。