本地部署Tale博客网站并结合内网穿透实现公网访问本地站点

本文主要是介绍本地部署Tale博客网站并结合内网穿透实现公网访问本地站点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 前言
    • 1. Tale网站搭建
      • 1.1 检查本地环境
      • 1.2 部署Tale个人博客系统
      • 1.3 启动Tale服务
      • 1.4 访问博客地址
    • 2. Linux安装Cpolar内网穿透
    • 3. 创建Tale博客公网地址
    • 4. 使用公网地址访问Tale

前言

今天给大家带来一款基于 Java 语言的轻量级博客开源项目——Tale,Tale使用轻量级mvc框架Blage开发,它拥有小、美、快、稳的特点。该项目完全开源、免费,能够让你快速搭建包含前、后台的博客系统,大大节省了搭建私人博客的时间。

接下来教大家如何部署Tale个人博客,并通过Cpolar搭建的内网穿透数据隧道,把自己的个人博客发布到公共互联网上,人人都能访问。

1. Tale网站搭建

本次操作系统版本为CentOS7,java版本为1.8.0_381

1.1 检查本地环境

检查本地操作系统版本

 cat /etc/redhat-release

检查系统内核版本

  uname -r

检查java版本,部署Tale应用前需要安装java环境,本次环境已经提前安装好java环境

 java -version

1.2 部署Tale个人博客系统

执行以下命令,下载Tale源码

git clone  https://github.com/otale/tale.git

查看源码目录

 tree -L 3 ./tale/

查看安装脚本内容

 cat install.sh

执行安装脚本,执行install.sh文件

sh install.sh

1.3 启动Tale服务

进入Tale目录

 cd tale/

启动Tale服务

 ./tool start

查看Tale服务状态,查看tool命令帮助信息

 ./tool --help

查看Tale服务状态

 ./tool status

查看tale监听端口,正常监听端口为9000

开启防火墙,开启9000端口

firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload

1.4 访问博客地址

访问地址:http://自己IP:9000,填写网站信息,自定义填写即可。

963e12ac5f40cccc590e18807de3bcd

设置好网站信息后,点击“下一步”,初始化成功完成。

27aadea21d871f7f1ea288d3207274f

2. Linux安装Cpolar内网穿透

完成Tale网站搭建后,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装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

3. 创建Tale博客公网地址

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

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:192.168.50.188:9000 (自己本机IP:9000)
  • 域名类型:免费随机域名
  • 地区:选择China Top
  • Host头域:192.168.50.188:9000 (自己本机IP:9000)

点击创建

b315112b6821e3b3b28a5ce890a4d1f

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

bd11b7ad5667e12a3362a46c6b9cd9c

4. 使用公网地址访问Tale

使用上面的cpolar https公网地址在任意设备的浏览器访问,即可成功看到Tale初始创建的网站界面,后期自行设计美观的网站界面。这样一个公网地址且可以远程访问就创建好了,无需自己购买云服务器,即可发布到公网访问。

9f1bfa0a4f1ce05a986be3392593b56

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。并且网站的域名看起来也不美观,我们可以自定义设置一个固定域名,因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

56018d44c71b464cc23431837b31b75

保留成功后复制保留成功的二级子域名的名称

b6bb89bd45463c3864aea611c2762f5

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

57abde25840c4ca8ced64979cf9dea0

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

e512093353cf4459d445870fe8372d1

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

image-20231129105141623

最后,我们使用固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了。

435235c2a1e5714b95595454d5df2ed

这篇关于本地部署Tale博客网站并结合内网穿透实现公网访问本地站点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/658836

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima