溫馨提示×

MongoDB配置CentOS需要注意哪些點

小樊
39
2025-10-13 03:11:57
欄目: 云計算

1. 安裝官方YUM倉庫
在CentOS上安裝MongoDB前,需添加官方YUM倉庫以確保獲取正確的軟件包和更新。創建/etc/yum.repos.d/mongodb-org.repo文件,內容根據MongoDB版本調整(如6.0版本):

[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

此步驟避免了從默認倉庫安裝可能存在兼容性問題的MongoDB版本。

2. 配置文件路徑與關鍵參數設置
MongoDB的主配置文件位于/etc/mongod.conf,需重點調整以下參數:

  • 數據與日志路徑:設置storage.dbPath(如/var/lib/mongo)指定數據存儲目錄,systemLog.path(如/var/log/mongodb/mongod.log)指定日志文件路徑,并啟用日志追加模式(systemLog.logAppend: true)。
  • 網絡綁定net.bindIp默認為127.0.0.1(僅本地訪問),若需遠程訪問,可改為0.0.0.0(允許所有IP)或指定具體IP(如192.168.1.100);net.port默認為27017,可根據需求修改。
  • 進程管理processManagement.fork: true讓MongoDB以守護進程模式運行(后臺服務)。
    這些配置需通過sudo vi /etc/mongod.conf編輯,修改后重啟服務生效。

3. 安全配置(必做)

  • 啟用身份驗證:在security section添加authorization: enabled,強制用戶連接時需提供用戶名和密碼,防止未授權訪問。修改后需重啟MongoDB服務。
  • 創建管理員用戶:連接MongoDB shell(mongo),切換至admin數據庫,執行以下命令創建管理員賬戶(示例):
    use admin
    db.createUser({
      user: "admin",
      pwd: "your_secure_password",
      roles: ["root"]  // root角色擁有所有數據庫管理權限
    })
    
  • 限制遠程訪問:若bindIp設置為0.0.0.0,需通過防火墻限制僅信任IP可訪問MongoDB端口(默認27017),降低被掃描攻擊的風險。

4. 防火墻配置
若系統啟用了firewalld,需開放MongoDB端口以允許遠程連接:

sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent  # 永久添加端口
sudo firewall-cmd --reload  # 重新加載防火墻規則

若使用iptables,可執行sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT并保存規則。

5. 性能優化配置

  • WiredTiger緩存大小:在storage.wiredTiger.engineConfig下設置cacheSizeGB,建議值為物理內存的50%(如8GB內存可設為4GB),避免占用過多內存導致系統卡頓。
  • OPLOG大小:對于副本集,replication.oplogSizeMB需根據數據寫入量調整(默認為磁盤空間的5%),確保有足夠空間存儲操作日志(用于主從同步)。
  • 日志輪轉:啟用systemLog.logRotate: reopen并結合系統日志輪轉工具(如logrotate),防止日志文件過大占用磁盤空間。

6. SELinux配置(若啟用)
若系統啟用了SELinux(默認啟用),需調整策略允許MongoDB訪問數據目錄:

sudo semanage fcontext -a -t mongod_var_lib_t "/var/lib/mongo(/.*)?"  # 設置SELinux上下文
sudo restorecon -Rv /var/lib/mongo  # 恢復上下文

或臨時設置為寬松模式(測試環境可用):編輯/etc/selinux/config,將SELINUX=enforcing改為SELINUX=permissive,然后重啟系統。

7. 開機自啟與狀態檢查
配置完成后,啟動MongoDB服務并設置開機自啟:

sudo systemctl start mongod  # 啟動服務
sudo systemctl enable mongod  # 設置開機自啟
sudo systemctl status mongod  # 檢查服務狀態(應為active(running))

通過mongo --eval 'db.version()'命令可驗證MongoDB是否正常運行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女