在開始配置前,請確保已完成以下步驟:
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
以上步驟確保MongoDB處于運行狀態,為后續網絡配置奠定基礎。
MongoDB的網絡綁定設置決定了其監聽的IP地址,直接影響遠程訪問能力。需編輯核心配置文件/etc/mongod.conf:
nano)修改配置文件:sudo nano /etc/mongod.conf
net模塊:在配置文件中找到net部分(通常位于文件中下部),修改bindIp參數:
bindIp: 127.0.0.1(僅本地主機可訪問,安全性最高,適用于開發環境)。bindIp: 192.168.1.100(替換為你的服務器公網/內網IP,僅該IP可訪問,適用于生產環境限制訪問場景)。bindIp: 0.0.0.0(所有IP均可連接,需配合強安全措施,適用于需要遠程訪問的生產環境)。bindIp: 127.0.0.1,192.168.1.100(同時允許本地和指定IP訪問,兼顧開發與遠程需求)。nano,按Ctrl+X→Y→Enter確認保存。修改配置文件后,需重啟服務使更改生效:
sudo systemctl restart mongod
可通過以下命令驗證服務狀態:
sudo systemctl status mongod
若顯示“active (running)”,則表示服務已成功重啟。
Ubuntu默認使用ufw(Uncomplicated Firewall)管理防火墻規則,需允許MongoDB的默認端口(27017)通過:
sudo ufw allow 27017/tcp
sudo ufw allow from 192.168.1.100 to any port 27017/tcp
sudo ufw reload
sudo ufw status
確認輸出中包含“ALLOW 27017/tcp”或指定IP的規則。默認情況下,MongoDB未啟用認證,任何能連接到服務器的用戶均可訪問數據庫。需通過以下步驟啟用:
/etc/mongod.conf的security部分添加或修改以下內容:security:
authorization: enabled
sudo systemctl restart mongod
admin數據庫并創建管理員賬號(以admin為例):mongo
use admin
db.createUser({
user: "admin",
pwd: "YourSecurePassword123!",
roles: [{ role: "root", db: "admin" }]
})
exit
注:“YourSecurePassword123!”需替換為強密碼(包含大小寫字母、數字和特殊字符)。若需從遠程機器訪問MongoDB,可使用以下命令測試(替換your_server_ip為服務器IP,admin為創建的用戶名):
mongo --host your_server_ip --port 27017 -u admin -p YourSecurePassword123 --authenticationDatabase admin
若成功進入MongoDB shell(顯示“>”),則表示配置生效。
bindIp范圍:避免使用0.0.0.0,僅綁定服務器實際使用的IP地址(如公網IP或內網IP)。net部分添加SSL配置(需提前獲取證書),防止數據傳輸被竊?。?pre class="hljs">net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/certificate.pem
CAFile: /path/to/your/ca.pem
sudo apt update && sudo apt upgrade mongodb-org保持版本最新,修復安全漏洞。