转载自Cpolar Lisa文章:Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网穿透」
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
下面我们简单几步实现在Linux centos上安装mongoDB数据库,同时做内网穿透,使用cpolar内网穿透将本地端口映射到公网上,实现在公网环境下也可以远程连接访问MongoDB数据库。
进入yum.repos.d
目录
cd /etc/yum.repos.d
新建一个下载源文件
vim mongodb-org-4.0.repo
在文件里面添加下面内容,然后保存
[mngodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
gpgcheck=0
enabled=1
执行命令安装,执行后等待安装完成
yum -y install mongodb-org
出现完毕表示安装完成
查看一下安装的位置
whereis mongod
可以看到mongodconf配置文件的目录所在
修改一下mongod.conf配置文件
vim /etc/mongod.conf
把bindIp: 127.0.0.1
改为bindIp: 0.0.0.0
然后保存
然后启动mongoDB,下面一系列是操作命令
启动mongodb :systemctl start mongod.service
停止mongodb :systemctl stop mongod.service
重启mongodb :systemctl restart mongod.service
查看状态mongodb :systemctl status mongod.service
设置mongodb开机自启动 :systemctl enable mongod.service
启动后我们查看一下状态
默认的mongodb端口为27017
TCP协议,在上面我们的配置文件中可以看到。 如果为防火墙使用的是 FirewallD,则可以使用以下命令:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
设置完重启防火墙
sudo firewall-cmd --reload
我们使用图形化工具连接,这边使用navicat进行测试连接,在navicat新建一个MongoDB连接,因为安装的时候没有输入账户密码,所以我们直接输入ip地址和端口,点击测试连接出现连接成功。
上面我们在本地Linux安装了mongodb数据库并且局域网测试ok,下面我们安装cpolar内网穿透工具,通过cpolar的TCP公网地址,我们可以很容易实现在外远程访问MongoDB数据库,而无需公网IP,无需设置路由器。下面是安装cpolar步骤。
cpolar官网地址:https://www.cpolar.com/
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里:
cpolar authtoken xxxxxxx
sudo systemctl enable cpolar
sudo systemctl start cpolar
成功启动cpolar服务后,我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。
登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个http协议的隧道指向mongoDB的27017端口:
点击创建
然后打开在线隧道列表,查看并且复制tcp协议的公网地址,注意无需复制tcp://
打开navicat 或者其他连接工具,输入上面我们cpolar中创建的公网地址,端口号对应地址后面的端口,
点击测试连接,出现连接成功表示成功
要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。
配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。
登录cpolar官网后台,点击左侧的预留,找到保留的tcp地址,我们来为远程mongoDB保留一个固定tcp地址:
点击保留
地址保留成功后,系统会生成相应的固定公网地址,将其复制下来
在浏览器上访问Linux局域网ip地址+:9200端口,登录cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的tcp隧道,点击右侧的编辑
修改隧道信息,将保留成功的固定tcp地址配置到隧道中
点击更新
隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定tcp地址。
打开连接工具,输入我们刚刚配置成功的固定tcp地址,端口为地址后面对应的地址,点击测试连接
出现连接成功表示成功,现在这个地址不会再随机变化了,只要保持隧道为在线状态,我们就可以在外公网环境下远程连接内网linux的mongoDB数据库。