在开始配置前,请确保已完成以下步骤:
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配置(需提前获取证书),防止数据传输被窃取:net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/certificate.pem
CAFile: /path/to/your/ca.pem
sudo apt update && sudo apt upgrade mongodb-org保持版本最新,修复安全漏洞。