使用安卓Termux+Hexo,手机也能轻松搭建个人博客网站

文章目录
- 前言
- 1.安装 Hexo
- 2.安装cpolar
- 3.远程访问
- 4.固定公网地址
- 5.结语
前言
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

手动创建一个hexo目录:
mkdir hexo
进入目录
cd hexo
初始化Hexo环境
hexo init
初始好后生成静态文件:
hexo g
启动hexo
hexo s
启动后我们可以看到访问的地址和端口号

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

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

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

关闭的方式也很简单,使用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官网注册的账号即可登陆

3.远程访问
手机浏览器打开cpolar 管理界面,我们点击左侧仪表盘的隧道管理——创建隧道,上面我们通过本地访问看到了端口号是4000,因此我们要来创建一条http隧道,指向4000端口:
- 隧道名称:可自定义,注意不要重复
- 协议:http
- 本地地址:4000
- 域名类型:选择随机域名
- 地区:选择China VIP
点击创建

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

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

4.固定公网地址
上面创建是免费随机地址,24小时内变化,为了方便长久稳定连接,我们可以固定访问地址,在cpolar中叫固定二级子域名,当然你也可以配置使用你自己的域名来访问。
需升级至基础套餐或以上才支持配置二级子域名
登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。
- 地区:选择服务器地区
- 名称:填写您想要保留的二级子域名(可自定义)
- 描述:即备注,可自定义填写

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

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

修改隧道信息,将二级子域名配置到隧道中:
- 域名类型:改为选择
二级子域名 - Sub Domain:填写我们刚刚所保留的二级子域名(本例为
hexoblog)
修改完成后,点击更新

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

然后我们使用其中一种http方式地址在浏览器访问,即可看到我们的Hexo博客界面,这样一个固定不变的远程访问hexo博客就配置好了【cpolar.cn已备案,因此无需备案】。
我们只需要保持隧道正常在线,公网用户就可以通过这个公网地址来访问到手机termux上的博客网站。

转载自cpolar极点云文章:手机也可以搭建个人博客?安卓Termux+Hexo搭建属于你自己的博客网站
5.结语
今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下,春人的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是春人前进的动力!

相关文章:
使用安卓Termux+Hexo,手机也能轻松搭建个人博客网站
文章目录 前言1.安装 Hexo2.安装cpolar3.远程访问4.固定公网地址5.结语 前言 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并…...
Spring在业务中常见的使用方式
目录 通过IOC实现策略模式 通过AOP实现拦截 通过Event异步解耦 通过Spring管理事务 通过IOC实现策略模式 很多时候,我们需要对不同的场景进行不同的业务逻辑处理举个例子,譬如不同的场景需要不同支付方式,普通的逻辑是使用if-else&#x…...
PyTorch 深度学习实战
文章目录 前言1. 环境安装1.Anaconda2.pytorch cuda 环境3.测试 前言 1. 环境安装 1.Anaconda 可以参考这里:Anaconda学习 2.pytorch cuda 环境 我是按照下面的博客一步步完成,亲测有效 Pytorch安装教程(最全最详细版) 我的…...
学生用RockyLinux9.2模板虚拟机说明
“RockyLinux9.2”模板虚拟机下载地址 链接:https://pan.baidu.com/s/1xcakszIQ7Kp9Nw_NA9Znlg?pwdqzmm 提取码:qzmm 1.模板机是基于“Rocky-9.2-x86_64-minimal.iso”安装 2.模板机是2023.10.10执行dnf update && dnf upgrade更新和升级软件…...
BUUCTF reverse3 1
先运行下 看来是输入正确的flag 使用DIE查看文件 看起来没有壳,直接IDA打开 shift F12查找字符串 一路跟踪 到汇编窗口后F5 这里对Destination和Str2进行比较,Str2有值那么Str2就是经过上面一系列处理之后得到的内容了 继续分析上面的代码 根据…...
关于webWorker未解问题
今天尝试学习webworker,尝试在vue3项目里面使用 使用的就是常规方法,使用worker-loader,加上在vue.config.js内部添加配置 使用完发现问题 如图所见,该worker仅仅配置点击后传输字符串"1",并在worker内部打印,发现打印不出来 但是仅仅只是将引入的文件换个名字 …...
自然语言处理(NLP)的开发框架
自然语言处理(NLP)领域有许多开源的框架和库,用于处理文本数据和构建NLP应用程序。以下是一些常见的NLP开源框架及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合…...
Spring Boot与Kubernetes结合:构建高可靠、高性能的微服务架构
Spring Boot和Kubernetes(K8s)是当今非常热门的技术,它们的结合可以帮助开发者更高效地构建、部署和管理应用程序。本文将详细介绍Spring Boot和Kubernetes的主要特点,以及它们结合使用的优势。 一、Spring Boot的特点 Spring B…...
Qt自带的日志重定向机制
//Qt5开始提供了日志上下文信息输出,比如输出当前打印消息所在的代码文件、行号、函数名等。 //如果是release还需要在pro中加上 DEFINES QT_MESSAGELOGCONTEXT 才能输出上下文,默认release关闭的。 //切记不要在日志钩子函数中再写qdebug之类的&#x…...
笔记36:CNN的多通道卷积到底是什么样的
总结: (1)输入卷积层的feature_map的通道数,就是该卷积层每个卷积核所含有的通道数 (2)输出卷积层的feature_map的通道数,就是该卷积层所含有的卷积核的个数 a a a a 解释:【…...
【eigen】解决报错 return type of RCmpEQReturnType Eigen::operator== is not ‘bool’
文章目录 1. 发现问题2. GPT 分析问题3. 解决问题 1. 发现问题 在 c 项目中使用了 C 20 编译标准(GCC10),结果 eigen 中出现报错 /usr/include/eigen3/Eigen/src/Cholesky/LDLT.h:372:58: error: return type of ‘const RCmpEQReturnType …...
QT 实现mysql的长连接
以下是一个使用Qt进行MySQL长连接的示例程序: #include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include <QDebug>class MySQLConnection :...
Vue 使用 setup 语法糖
setup 语法糖在书写上更加方便简洁,可以直接在 script 标签中书写 setup 的内容,并且无需使用 return 返回。 基础使用: <script setup></script> 注:setup 语法糖中不能存在 export default {} ,否则会…...
Feign(替代RestTemplate)远程调用
Feign初步学习 定义 Feign 是一个基于 Java 的 HTTP 客户端库,它是 Spring Cloud 中的一部分,用于简化微服务之间的 HTTP 通信。与传统的使用 RestTemplate 来调用 RESTful 服务不同,Feign 提供了一种声明式、基于接口的方式来定义和调用 H…...
查找算法 —— 斐波拉契查找法
一、介绍 斐波拉契查找法是以分割范围进行查找的,分割的方式是按照斐波拉契级数的方式来分割。好处是:只用到加减运算,计算效率较高一些。 要使用斐波拉契查找首先需要定义一颗斐波拉契查找树,建立规则如下: 1.斐波拉契…...
PL/SQL全量同步
全量同步 -- 实现逻辑:用源表的数据直接覆盖目标表 -- 插入数据前:先清空目标表,然后查询源表的数据,插入目标表 -- 1. 先创建一个目标表 CREATE TABLE EMP_T AS SELECT E.*, SYSDATE CREATE_DATE, SYSDATE UPDATE_DATE, SYSDATE ETL_DATE FROM EMP E WHERE 12;SELECT * FR…...
IO类型游戏研发定制开发
"IO" 类型的游戏开发通常是指那些在线多人游戏,其特点是快节奏、实时互动和简单的玩法。这些游戏的名字通常以 ".io" 结尾,如 "Agar.io"、"Slither.io" 等。如果您有兴趣进行 "IO" 类型游戏的研发或提…...
Eclipse iceoryx(千字自传)
1 在固定时间内实现无任何限制的数据传输 在汽车automotive、机器人robotics和游戏gaming等领域,必须在系统的不同部分之间传输大量数据。使用Linux等操作系统时,必须使用进程间通信(IPC)机制传输数据。Eclipse iceoryx是一种中间件,它使用零拷贝Zero-Copy、共享内存Share…...
竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)
文章目录 0 前言1 课题说明2 效果展示3 具体实现4 关键代码实现5 算法综合效果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学…...
Pikachu靶场——跨站请求伪造(CSRF)
文章目录 1. 跨站请求伪造(CSRF)1.1 CSRF(get)1.2 CSRF(post)1.3 CSRF Token1.4 CSRF漏洞防御 1. 跨站请求伪造(CSRF) 还可以参考我的另一篇文章:跨站请求伪造(CSRF) 全称Cross-site request forgery,翻译…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
