在Linux环境下搭建Redis服务结合内网穿透实现通过GUI工具远程管理数据库

文章目录

    • 前言
    • 1. 安装Docker步骤
    • 2. 使用docker拉取redis镜像
    • 3. 启动redis容器
    • 4. 本地连接测试
      • 4.1 安装redis图形化界面工具
      • 4.2 使用RDM连接测试
    • 5. 公网远程访问本地redis
      • 5.1 内网穿透工具安装
      • 5.2 创建远程连接公网地址
      • 5.3 使用固定TCP地址远程访问

前言

本文主要介绍如何在Linux Ubuntu系统本地部署Redis容器,并结合cpolar内网穿透工具配置公网地址实现远程访问本地数据库。

Redis作为一款高速缓存的key value键值对的数据库,在许许多多的场景中广泛使用,由于是把数据存储在内存中,所以读写效率极高。而在docker中部署Redis也非常简单,下面就来一起看看吧。

1. 安装Docker步骤

本文中使用的操作系统为Ubuntu 22.04

添加Docker源

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg# Add the repository to Apt sources:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker 包

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

通过运行映像来验证 Docker 引擎安装是否成功

sudo docker run hello-world

此命令下载测试映像并在容器中运行它。当容器运行,它打印确认消息并退出。

2. 使用docker拉取redis镜像

首先在终端中执行下方命令拉取镜像:

sudo docker pull redis

image-20240119112726716

然后执行查看镜像命令:

sudo docker images

1705635040000

可以看到成功拉取了Redis镜像。

3. 启动redis容器

在启动容器前,需要简单修改一下Redis外部挂载的配置文件。

本教程中,首先创建了/usr/local/redis/conf/redis.conf文件,

然后使用nano编辑器写入了网上找的redis.conf文件,保存后退出编辑器。

#任何ip可以访问
bind 0.0.0.0
#守护进程
#daemonize yes
daemonize yes
#不启用保护模式
protected-mode no
#指定redis运行的端口
port 6379
tcp-backlog 511
timeout 0
#持久化⽂件名称
dbfilename xdclass.rdb
#持久化⽂件存储路径
dir /data/
#持久化策略, 10秒内有个1个key改动,执⾏快照
save 10 1
######之前配置######
#导出rdb数据库⽂件压缩字符串和对象,默认是yes,会浪费CPU但是节省空间
rdbcompression yes
# 导⼊时是否检查
rdbchecksum yes
#aof持久化配置
#appendonly yes
#appendfilename "appendonly.aof"
#appendfsync everysec
# aof重写期间是否同步
no-appendfsync-on-rewrite no
# 重写触发配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
# 加载aof时如果有错如何处理
# yes表示如果aof尾部⽂件出问题,写log记录并继续执⾏。
no表示提示写⼊等待修复后写⼊
aof-load-truncated yes

接下来在终端中执行下方命令启动容器:

sudo docker run -p 6379:6379 --name redis -v /usr/local/redis/data:/data -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

这里我给容器的名称起为redis,您可以根据需要替换成其他名称。

然后执行下方命令查看容器是否正在运行:

sudo docker ps

1705654166715

可以看到刚才创建的myredis容器正在运行中。

4. 本地连接测试

4.1 安装redis图形化界面工具

现在我们已经在docker中本地部署了redis容器,如果要在本地进行连接测试,

可以下载redis图形化界面工具:Redis Desktop Manager

下载地址:https://pan.baidu.com/s/19FLBKyQkRlK4ktZFRg3j6Q?pwd=6666

提取码:6666

031e0a28c4815f87f8dd48bdbca151d

4.2 使用RDM连接测试

默认安装完成后,点击左下红框位置的连接redis server按钮:

0b36f14c2bbc4f102b148a69ac150ee

在弹出的窗口中,需要填入本机ip地址和redis的端口号:

1705654745490

输入后点击连接测试,如看到弹出框提示成功连接,即本地连接redis测试成功。

5. 公网远程访问本地redis

不过我们目前只能在本地使用刚刚部署的Jupyer Notebook,如果身在异地,想要远程访问在本地部署的redis容器,但又没有公网ip怎么办呢?

我们可以使用cpolar内网穿透工具来实现无公网ip环境下的远程访问需求。

5.1 内网穿透工具安装

下面是安装cpolar步骤:

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

image-20230831171159175

5.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:redis
  • 协议:TCP
  • 本地地址:6379
  • 端口类型:随机临时TCP端口
  • 地区:选择China Top

点击创建

1705656110037

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑(异地)上,将该地址与端口号分别复制到Redis Desktop Manager访问即可。

image-20240119172500947

如下图所示,ip地址位置填写:12.tcp.cpolar.top,端口号填写:13983 ,点击链接测试:

1705656691940

1705656606403

可以看到连接成功!

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的TCP公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问Redis的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的TCP地址的方式来远程访问。

5.3 使用固定TCP地址远程访问

接下来保留一个固定TCP地址,登录cpolar官网,点击左侧的预留,找到保留的TCP地址,为远程服务器连接保留一个固定的地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义,本例使用red123

点击保留

1705656941660

地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们刚才创建的随机公网地址隧道 redis,点击编辑

image-20240119173708120

修改隧道信息,将刚才保留成功的固定TCP地址配置到隧道中

  • 端口类型:选择固定TCP端口
  • 预留的TCP地址:复制粘贴官网保留成功的地址,本例中为:1.tcp.vip.cpolar.cn:23876

点击更新

image-20240119173954008

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为了固定TCP地址。

1705657295988

接下来与之前的操作一样,可以在其他电脑(异地)上,使用这个固定的TCP地址访问redis即可。

ip地址位置填写:1.tcp.vip.cpolar.cn,端口号填写:23876 ,点击链接测试:

1705657392806

可以看到,使用固定的TCP地址成功远程连接了本地Redis!使用cpolar内网穿透工具无需购买域名服务器,也不用设置路由器那么麻烦,轻松实现大家在公网远程访问本地服务的需求!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 9 新特新

mysql9新特性 新特性Audit Log NotesC API NotesCharacter Set SupportCompilation NotesComponent NotesConfiguration NotesData Dictionary NotesData Type NotesDeprecation and Removal NotesEvent Scheduler NotesJavaScript ProgramsOptimizer NotesPerformance Schema …

Spring中的事件监听器使用学习

一、什么是Spring中的事件监听机制? Spring框架中的事件监听机制是一种设计模式,它允许你定义和触发事件,同时允许其他组件监听这些事件并在事件发生时作出响应。这种机制基于观察者模式,提供了一种松耦合的方式来实现组件间的通信…

CTF实战:从入门到提升

CTF实战:从入门到提升 🚀前言 没有网络安全就没有国家安全,网络安全不仅关系到国家整体信息安全,也关系到民生安全。近年来,随着全国各行各业信息化的发展,网络与信息安全得到了进一步重视,越…

XAML 框架横向对比

多年来,基于 XAML 的 UI 框架有了很大的发展。下面的图表很好地证明了这个观点。XAML UI 框架的三大巨头:Avalonia UI、Uno Platform 和 .NET MAUI 都支持跨平台的应用。事实上,除了 Avalonia UI,对跨平台 XAML 的需求是它们发展的…

【深度学习】图形模型基础(5):线性回归模型第四部分:预测与贝叶斯推断

1.引言 贝叶斯推断超越了传统估计方法,它包含三个关键步骤:结合数据和模型形成后验分布,通过模拟传播不确定性,以及利用先验分布整合额外信息。本文将通过实际案例阐释这些步骤,展示它们在预测和推断中的挑战和应用。…

Unity 使用AVProMovieCapture实现Game视图屏幕录制

内容将会持续更新,有错误的地方欢迎指正,谢谢! Unity 使用AVProMovieCapture实现Game视图屏幕录制 TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心…

【云计算】公有云、私有云、混合云、社区云、多云

公有云、私有云、混合云、社区云、多云 1.云计算的形态1.1 公有云1.2 私有云1.3 混合云1.4 社区云1.5 多云1.5.1 多云和混合云之间的关系1.5.2 多云的用途1.5.3 影子 IT 和多云1.5.4 优缺点 2.不同云形态的对比 1.云计算的形态 张三⾃⼰在家做饭吃,这是 私有云&…

【扩散模型】LCM LoRA:一个通用的Stable Diffusion加速模块

潜在一致性模型:[2310.04378] Latent Consistency Models: Synthesizing High-Resolution Images with Few-Step Inference (arxiv.org) 原文:Paper page - Latent Consistency Models: Synthesizing High-Resolution Images with Few-Step Inference (…

ELK优化之Filebeat部署

目录 1.安装配置Nginx 2.安装 Filebeat 3.设置 filebeat 的主配置文件 4.修改Logstash配置 5.启动配置 6.kibana验证 主机名ip地址主要软件es01192.168.9.114ElasticSearches02192.168.9.115ElasticSearches03192.168.9.116ElasticSearch、Kibananginx01192.168.9.113ng…

Redis---9---集群(cluster)

将新增的6387节点(空槽号)作为master节点加入原集群 Redis—9—集群(cluster) 是什么 定义 ​ 由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复…

5个实用的文章生成器,高效输出优质文章

在自媒体时代,优质内容的持续输出是吸引读者、提升影响力的关键。然而,对于许多自媒体创作者来说,频繁的创作难免会遭遇灵感枯竭、创作不出文章的困扰。此时,文章生成器便成为了得力的助手。文章生成器的优势能够快速自动生成高质…

代码随想录算法训练营第13天|二叉树的递归遍历、二叉树的迭代遍历、二叉树的统一迭代法、102.二叉树的层序遍历

打卡Day13 1.理论基础2.二叉树的递归遍历3.二叉树的迭代遍历3.二叉树的统一迭代法4.102.二叉树的层序遍历扩展107. 二叉树的层序遍历 II199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针117. 填充每个…

如何保证接口幂等性

如何保证接口幂等性 1、幂等性是什么? 接口幂等性是指用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了不同的结果。 2、使用幂等性的场景有哪些? 页面点击保存按钮时,不小心快速点了两次…

上万组风电,光伏,用户负荷数据分享

上万组风电,光伏,用户负荷数据分享 可用于风光负荷预测等研究 获取链接🔗 https://pan.baidu.com/s/1izpymx6R3Y8JsFdx42rL0A 提取码:381i 获取链接🔗 https://pan.baidu.com/s/1izpymx6R3Y8JsFdx42rL0A 提取…

一行代码用git新建分支

1.在本地创建分支 dev git branch dev2.切换分支 git checkout devwebstorm操作如下: 3.推送新分支到远程 git push --set-upstream origin 分支名webstorm操作如下:提交代码的时候会自动推送到远程 4.到git上面可以看看刚刚推送的内容 dev多推送…

Proxmox VE 8虚拟机直通USB磁盘

作者:田逸(fromyz) 今天有个兄弟发消息,咨询怎么让插在服务器上的U盾被Proxmox VE上的虚拟机识别。在很久很久以前,我尝试过在Proxmox VE 5以前的版本创建windows虚拟机,并把插在Proxmox VE宿主机上的银行U…

Android ViewPostImeInputStage输入事件处理

InputDispatcher向InputChannel使用socket写入输入事件,触发InputEventReceiver调用来接收输入事件。 ViewPostImeInputStage处理view控件的事件 frameworks/base/core/java/android/view/InputEventReceiver.java dispatchInputEvent frameworks/base/core/jav…

SwinTransformer的相对位置索引的原理以及源码分析

文章目录 1. 理论分析2. 完整代码 引用:参考博客链接 1. 理论分析 根据论文中提供的公式可知是在 Q Q Q和 K K K进行匹配并除以 d \sqrt d d ​ 后加上了相对位置偏执 B B B。 A t t e n t i o n ( Q , K , V ) S o f t m a x ( Q K T d B ) V \begin{aligned} &…

绝了,华为伸缩摄像头如何突破影像边界?

自华为Pura70 Ultra超聚光伸缩镜头诞生以来,备受大家的关注,听说这颗镜头打破了传统手机的摄像头体积与镜头的设计,为我们带来了不一样的拍照体验。 智能手机飞速发展的今天,影像功能已经成为我们衡量一款手机性能的重要指标。想…

MySQL中mycat与mha应用

目录 一.Mycat代理服务器 1.Mycat应用场景 2.mycat安装目录结构说明 3.Mycat的常用配置文件 4.Mycat日志 5.mycat 实现读写分离 二.MySQL高可用 1.原理过程 2.MHA软件 3.实现MHA 一.Mycat代理服务器 1.Mycat应用场景 Mycat适用的场景很丰富,以下是几个典型…