Ubuntu 上配置 MongoDB 网络的实用步骤
一 基础网络绑定与端口
- 编辑配置文件:sudo nano /etc/mongod.conf
- 在 net 段设置监听地址与端口(示例为监听本机与内网地址):
net: port: 27017 bindIp: 127.0.0.1,192.168.1.100说明:将 bindIp 改为服务器的具体内网/公网 IP 可开启远程访问;生产环境不建议使用 0.0.0.0(监听所有地址)。如需变更端口,请同步更新客户端连接串与防火墙规则。
- 使配置生效:sudo systemctl restart mongod
- 验证监听:ss -lntp | grep 27017 或 sudo netstat -an | grep 27017。
二 防火墙放行
- UFW(推荐):仅允许受信网段访问
- 允许某台主机:sudo ufw allow from 192.168.1.50 to any port 27017 proto tcp
- 允许整个网段:sudo ufw allow from 192.168.1.0/24 to any port 27017 proto tcp
- 查看规则:sudo ufw status
- iptables:sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 –dport 27017 -j ACCEPT
- 云服务器注意同时放通云厂商安全组中的 27017/tcp 入站规则。
三 启用认证与创建管理员
- 开启访问控制:在 /etc/mongod.conf 的 security 段启用
security: authorization: enabled重启:sudo systemctl restart mongod
- 创建管理员用户(连接到本机 mongod):
use admindb.createUser({ user: "admin", pwd: "StrongPassword123!", roles: [{ role: "root", db: "admin" }]}) - 远程连接示例:mongo –host your_server_ip –port 27017 -u app_user -p app_password –authenticationDatabase your_database。
四 可选 加密与网络性能优化
- TLS/SSL 加密(可选但强烈推荐):在 net 段配置 ssl 并指定证书/密钥,客户端连接时添加 ?tls=true 等参数,保障公网传输安全。
- 连接与并发优化(示例):
net: maxIncomingConnections: 50000 connectTimeoutMS: 5000 socketTimeoutMS: 60000 - 系统网络与内核参数(提升高并发与稳定性):
- 增加文件描述符与连接队列:
fs.file-max = 1000000 net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 net.ipv4.tcp_tw_reuse = 1应用:sudo sysctl -p
- 禁用透明大页(THP):
echo "never" | sudo tee /sys/kernel/mm/transparent_hugepage/enabledecho "never" | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
- 增加文件描述符与连接队列:
- 监控:mongostat 查看连接数(conn),netstat -antp | grep mongod 排查连接状态。
五 常见问题排查清单
- 服务未监听或配置未生效:检查 mongod.conf 语法、sudo systemctl status mongod、以及重启是否成功。
- 端口未放行:核对 UFW/iptables 与云安全组是否允许 27017/tcp 入站。
- 仅本机能连:确认 bindIp 包含服务器实际 IP(而非仅 127.0.0.1),且客户端使用服务器 IP 连接。
- 认证失败:确认已启用 authorization,并使用 –authenticationDatabase 指定正确库(如 admin)。
- 监听地址错误:用 ss/ netstat 确认 mongod 正在期望的 IP:端口 上监听。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1482561.html