安卓Termux+Hexo博客框架快速搭建本地网站并实现公网访问

文章目录

    • 前言
  • 1.安装 Hexo
  • 2.安装cpolar
  • 3.远程访问
  • 4.固定公网地址

前言

Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

下面介绍在Termux中安装个人hexo博客并结合cpolar工具实现远程访问。

1.安装 Hexo

Hexo 是用 Nodejs 编写的,所以安装的话先安装node.js,termux 也是封装了,一行命令安装:

pkg install nodejs

安装后使用npm命令来安装hexo:

npm install hexo-cli -g

安装完成后,查看一下版本信息,检验是否安装成功:

hexo -v

image-20230512133528614

手动创建一个hexo目录:

mkdir hexo

进入目录

cd hexo

初始化Hexo环境

hexo init

初始好后生成静态文件:

hexo g

启动hexo

hexo s

启动后我们可以看到访问的地址和端口号

image-20230512134826015

我们打开浏览器,输入上面的访问链接,即可看到hexo

image-20230512135104828

上面启动方式是在前台界面启动hexo,不是很方便我们做其他操作,所以我们改为后台启动,先使用Ctrl+C键停止hexo,

然后我们使用nohup 后台启动,启动后我们可以按到PID:

nohup hexo s &

image-20230512140634188

关闭的方式也很简单,使用kill命令:

kill -9 PID

以上我们就安装好了hexo博客,下面我们进行安装cpolar

2.安装cpolar

创建一个sources.list.d的文件夹:

mkdir -p $PREFIX/etc/apt/sources.list.d

添加cpolar下载源文件

echo "deb [trusted=yes] http://termux.cpolar.com termux extras" >> $PREFIX/etc/apt/sources.list.d/cpolar.list

更新仓库

pkg update

安装cpolar

pkg install cpolar

安装termux服务,注意: 安装完成后记得关闭重启一下termux 才生效!!

pkg install termux-services

重启完termux后,然后启动cpolar

sv up cpolar

设置开机自启

sv-enable cpolar

这个是停止cpolar 服务

sv down cpolar

cpolar.yml主配置文件路径位置

$PREFIX/etc/cpolar/cpolar.yml

然后在手机浏览器我们输入http://localhost:9200即可看到cpolar管理界面,使用cpolar官网注册的账号即可登陆

image-20230509155942139

3.远程访问

手机浏览器打开cpolar 管理界面,我们点击左侧仪表盘的隧道管理——创建隧道,上面我们通过本地访问看到了端口号是4000,因此我们要来创建一条http隧道,指向4000端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:http
  • 本地地址:4000
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击创建

image-20230512150045998

创建成功后打开在线隧道列表,可以看到公网访问的地址,有两种访问方式,一种是http,一种是https

image-20230512150926656

然后我们使用其中一种http方式地址在浏览器访问,即可看到我们的Hexo博客界面,这样这个远程访问就配置好了

image-20230512151135860

4.固定公网地址

上面创建是免费随机地址,24小时内变化,为了方便长久稳定连接,我们可以固定访问地址,在cpolar中叫固定二级子域名,当然你也可以配置使用你自己的域名来访问。

需升级至基础套餐或以上才支持配置二级子域名

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

image-20230516141511164

本例保留一个名称为hexoblog的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。

image-20230516141541897

登录cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

image-20230516142410556

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为hexoblog

修改完成后,点击更新

image-20230516142441119

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到隧道的公网地址,已经更新为二级子域名了.

image-20230516142517920

然后我们使用其中一种http方式地址在浏览器访问,即可看到我们的Hexo博客界面,这样一个固定不变的远程访问hexo博客就配置好了【cpolar.cn已备案,因此无需备案】。

我们只需要保持隧道正常在线,公网用户就可以通过这个公网地址来访问到手机termux上的博客网站。

image-20230516143034891

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

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

相关文章

浙大恩特客户资源管理系统 crmbasicaction 接口任意文件上传

该文章由掌控安全学院——1782814368投稿 【产品介绍】 浙大恩特客户资源管理系统是一款针对企业客户资源管理的软件产品。该系统旨在帮助企业高效地管理和利用客户资源,提升销售和市场营销的效果。 【漏洞介绍】 浙大恩特客户资源管理系统 crmbasicaction 任意…

Python学习路线 - Python高阶技巧 - 拓展

Python学习路线 - Python高阶技巧 - 拓展 闭包闭包注意事项 装饰器装饰器的一般写法(闭包写法)装饰器的语法糖写法 设计模式单例模式工厂模式 多线程进程、线程并行执行多线程编程threading模块 网络编程Socket客户端和服务端Socket服务端编程实现服务端并结合客户端进行测试 S…

陶哲轩如何用 GPT-4 辅助数学研究

关于陶哲轩(Terence Tao)用 GPT-4 进行数学研究的话题始于陶本人在 微软 Unlocked 上发表的 Embracing Change and Resetting Expectations 一文。文中提到: …… I could feed GPT-4 the first few PDF pages of a recent math preprint and…

Redis(三)(实战篇)

查漏补缺 1.spring 事务失效 有时候我们需要在某个 Service 类的某个方法中,调用另外一个事务方法,比如: Service public class UserService {Autowiredprivate UserMapper userMapper;public void add(UserModel userModel) {userMapper.…

Android Button background 失效

问题 Android Button background 失效 详细问题 笔者开发Android项目&#xff0c;期望按照 android:background中所要求的颜色展示。 实际显示按照Android 默认颜色展示 解决方案 将xml的Button 组件修改为<android.widget.Button> 即将代码 <Buttonandroid:l…

RTthread线程间通信(邮箱,消息队列,信号/软件中断)---01实际使用API函数

layout: post title: “RT-Thread线程间通信” date: 2024-2-5 15:39:08 0800 tags: RT-Thread 线程间通信 这一篇是实际使用, 代码分析看后面的文章 一般可以使用全局变量以及线程间同步进行实现 RT-Thread也提供了一部分的通信机制 邮箱 一个线程发送, 另外的线程接受信息…

QT学习日记 | QWidget

目录 前言 一、enable属性 1、属性介绍 2、实战演练 二、geometry属性 1、属性介绍 2、实战演练 三、windowTitle属性 1、属性介绍 2、实战演练 四、windownIcon属性 1、属性介绍 2、实战演练 3、qrc机制引入 五、windowOpacity属性 1、属性介绍 2、实战演…

【BIAI】Lecture 13 - Language processing

Language processing 专业术语 Aphasia 失语症 fMRI 功能性磁共振成像 auditory cortex 听觉皮层 motor cortex 运动皮层 primary visual cortex 初级视觉皮层 permotor cortex 前运动皮层 课程概要 What is language 语言是一种用词汇按照语法规则组合来表示和交流信息的系统…

2024 高级前端面试题之 框架通识 「精选篇」

该内容主要整理关于 框架通识 的相关面试题&#xff0c;其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 框架通识精选篇 1. MVVM2. 路由原理3. Virtual Dom3.1 为什么需要 Virtual Dom3.2 Virtual Dom 算法简述3.2 Virtual Dom 算法实现 4. Diff算法4.1 React-Di…

【django】建立python虚拟环境-20240205

1.确保已经安装pip3 install venv 2.新建虚拟环境 python -m venv myenv 3.安装虚拟环境的依赖包 pip install … 4.激活虚拟环境 cd myenv cd Scripts activate 激活activate.bat并进入虚拟环境 进入虚拟环境后&#xff0c;命令行前面显示&#xff08;myenv&#xff0…

调用其他数据库,事务回滚

1、定时 JDBC 的事务 2、事务提交 3、事务回滚 样例 Transactional(propagation Propagation.REQUIRES_NEW)RequestMapping(value "/ix_work_order", method RequestMethod.POST, consumes MediaType.APPLICATION_JSON_VALUE,produces MediaType.APPLICATION_…

BVH动画绑骨蒙皮并在Unity上展示

文章目录 Blender绑定骨骼Blender蒙皮Blender中导入bvh文件将FBX导入Unity Blender绑定骨骼 先左上角红框进入model模式&#xff0c;选中要绑定的模型&#xff0c;然后进入Edit模式把骨骼和关节对齐。 &#xff08;选中骨骼&#xff0c;G移动&#xff0c;R旋转&#xff09; 为…