在腾讯云上购买了一台服务器之后,我准备用这台服务器来作为web服务器,各种基础准备都准备停当了,但是其中遇到了一个问题——安装的mongoDB在本地连接不上。各种google+百度之后还是搞不定,最终还是通过提交工单的方式解决了问题,但是回头想一想,我折腾这么久,其实最主要的是变通不够,也是对服务器不甚了解导致的。现在我把这一段时间折腾感想写下来,希望让有需要的朋友能快速跳过这些个坑。
在这里我已经假定服务器上安装上了mongoDB,测试连接的方法我使用的是Node.js。
首先我的Node.js测试代码如下(ES6):
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的配置文件,更改如下:
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 删除。