前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVM上安装mongoDB之后设置外网连接遇到的坑与解决方案

CVM上安装mongoDB之后设置外网连接遇到的坑与解决方案

原创
作者头像
xiaofu.qin
修改2019-06-17 10:17:35
1.6K3
修改2019-06-17 10:17:35
举报
文章被收录于专栏:零碎的经验零碎的经验

在腾讯云上购买了一台服务器之后,我准备用这台服务器来作为web服务器,各种基础准备都准备停当了,但是其中遇到了一个问题——安装的mongoDB在本地连接不上。各种google+百度之后还是搞不定,最终还是通过提交工单的方式解决了问题,但是回头想一想,我折腾这么久,其实最主要的是变通不够,也是对服务器不甚了解导致的。现在我把这一段时间折腾感想写下来,希望让有需要的朋友能快速跳过这些个坑。

在这里我已经假定服务器上安装上了mongoDB,测试连接的方法我使用的是Node.js。

首先我的Node.js测试代码如下(ES6):

代码语言:txt
复制
import mongoose        from "mongoose";

// Connection URL, connect in to nbaOddData databas
// mongodb://user:pass@ip:port/database?authSource=user
// 在mongoDB的配置上我已经设置了安全认证以及创建了对应的用户,相关教程——http://www.codewrecks.com/blog/index.php/2016/05/19/secure-your-mongodb-installation/
const url = 'mongodb://user:pass@xxx:port/nbaOddData?authSource=user';

mongoose.connect(url, {
    useNewUrlParser: true
});

const db = mongoose.connection;

db.on('error', function () {console.log("数据库连接失");});
db.on("open", function () {  console.log("------数据库连接成功!------"); });

接下来在服务器上修改mongoDB的配置文件,更改如下:

代码语言:txt
复制
net:
  port: 27017
  bindIp: 0.0.0.0  # 0.0.0.0的IP设置则可以使得外网可以访问当前数据库

保存之后重新启动mongoDB。接下来需要在服务器的安全组上添加27017端口的规则,添加的规则连接腾讯云文档,只不过我认为这个文档说得有点儿拗口,所以我通过模仿原来已有的规则进行如下添加:

来源:0.0.0.0/0

协议端口:TCP:27017

关于这个协议端口一定要加上TCP和冒号,要不然将通不过规则。保存这个安全规则之后就可以通过外网访问我们的mongoDB数据库了。

希望这些文字对你有帮助。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com