阿里云服務(wù)器 MongoDB 踩坑:無法配置外網(wǎng)IP

現(xiàn)象

  • 阿里云Ubuntu服務(wù)器
  • 剛剛安裝完MongoDb

需要配置MongoDB外網(wǎng)的IP,進行了如下的操作:

  1. /etc/mongodb.conf進行配置:
bind_ip = 127.0.0.1,XXX.XXX.XXX.XXX(阿里云分配的服務(wù)器外網(wǎng)IP)
  1. 重啟MongoDB的服務(wù):
systemctl restart mongodb
  1. 檢查MongoDB服務(wù)狀態(tài):
systemctl status mongodb

得到如下結(jié)果:

● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2020-01-20 20:55:39 CST; 49s ago
Docs: man:mongod(1)
Process: 599 ExecStart=/usr/bin/mongod --config /etc/mongodb.conf (code=exited, status=48)
Main PID: 599 (code=exited, status=48)

啟動失?。?code>code=exited, status=48。

  1. 查看MongoDB日志:
vim /var/log/mongodb/mongodb.log

可得如下錯誤日志:

ERROR: listen(): bind() failed errno:99 Cannot assign requested address for socket: XXX.XXX.XXX.XXX:27017

解決方案

  • 配置時使用阿里云分配的內(nèi)網(wǎng)IP,而不是外網(wǎng)的IP。
  • 或者使用ip addr查看服務(wù)器具體的IP,使用這個IP進行配置。

出現(xiàn)Cannot assign requested address for socket: XXX.XXX.XXX.XXX:27017這種錯誤,一般是端口配置出錯(如:端口被占用、端口沒有開放)或者IP出錯(如:所配置的IP并不是本機的IP)。在查看了防火墻等配置后,排除前者,那就是IP導(dǎo)致的問題了。

原因

在阿里云服務(wù)器管理控制臺看到的外網(wǎng)IP并不是服務(wù)器真實的IP。

很可能是,外網(wǎng)IP的請求、數(shù)據(jù)由阿里云的網(wǎng)關(guān)等代理,從內(nèi)網(wǎng)轉(zhuǎn)發(fā)到具體的服務(wù)器:
數(shù)據(jù) ==外網(wǎng)==> 阿里云代理 ==內(nèi)網(wǎng)==> 服務(wù)器

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容