跨实例部署OpsManager应用无法连接数据库问题求助
Looks like you hit a classic "MongoDB only listening locally" issue — let's break this down and fix it step by step:
The Root Problem
Your mongod process on the DB instance is only bound to 127.0.0.1, which means it will only accept connections from the same machine. Any incoming requests from your app instance (even via public IP) will get blocked, hence the Connection refused and timeout errors you're seeing.
Step 1: Update MongoDB's Bind IP to Allow Remote Connections
Log into your DB instance, find your MongoDB config file (usually /etc/mongod.conf, though it might be in a custom path if you installed manually). Locate the net section:
net: port: 27017 bindIp: 127.0.0.1 # This is the culprit
Change bindIp to either:
- Your DB instance's public IP or private internal IP (more secure, limits connections to that specific address)
0.0.0.0(allows connections from any IP — note: use this only if you plan to secure MongoDB with authentication immediately)
Example updated config:
net: port: 27017 bindIp: 0.0.0.0
Step 2: Restart MongoDB to Apply Changes
sudo service mongod restart
Run netstat -nltp again — you should now see mongod listening on 0.0.0.0:27017 (or your specified IP) instead of just 127.0.0.1.
Step 3: Open Port 27017 in Firewall/Security Group
Don't skip this critical step!
- If your DB instance is on a cloud provider, update the security group to allow inbound traffic on port 27017 from your app instance's IP (or any IP for testing purposes).
- If using a local firewall like
ufw:sudo ufw allow 27017/tcp sudo ufw reload
Step 4: Test the Connection (Optional but Recommended)
From your app instance, run this to verify connectivity:
mongo mongodb://db_instance_publicip:27017
If you can access the MongoDB shell without errors, your network and config are working correctly.
Step 5: Restart Your Ops Manager App
Now start the app again:
sudo service mongodb-mms start
It should connect to the remote DB instance without timing out.
Critical Security Reminder
If you used 0.0.0.0 for the bind IP, enable MongoDB authentication right away (create admin users, disable anonymous access). Leaving an unauthenticated MongoDB instance exposed to the internet is a major security risk.
内容的提问来源于stack exchange,提问作者kc7

