【Hexo】使用cloudflare pages自动化部署hexo

news2024/11/24 17:46:03

本文首发于 ❄️慕雪的寒舍

本文将教您使用cloudflare pages来白嫖部署hexo博客。

1.注册cloudflare

这部分就省略了,用邮箱注册就可以了

cloudflare pages的免费版本功能如下:

  • 并发构建数:1(如果有多个pages,同一时刻只能进行其中一个的构建)
  • 每月构建数:500(每个月只能帮你构建500次)
  • 自定义域名:100个
  • 一个pages最多20,000个文件
  • 最大单个文件限制:25MB
  • 每日限制函数请求数:100,000次(超出后会失败)
  • 静态文件请求次数:无限

这些限制对于一个过气(压根没人看)的个人博客来说绰绰有余了,而且cloudflare的防护能力在哪里,被盗刷访问量的几率并不大。而且静态文件的访问次数是没有做任何限制的。

image.png

2.配置cloudflare pages

参考官方文档:Deploy a Hexo site · Cloudflare Pages docs
请注意,官方文档中的部署命令有错误!

在你的账户主页,点击左侧的workers & pages,随后点击页面上的Pages

image.png

随后点击connect to git,绑定你的GitHub或者Gitlab账户。我选择绑定GitHub,这里的绑定操作就点几下的事情(我忘记截图了)

image.png

绑定了账户后可以在这里看到你的仓库。我的hexo在github上有两个仓库,一个是hexo源配置的仓库,包括md源文件和主题等配置项,另外一个是github.io静态文件的仓库,是从本地使用hexo d命令推送到github上的。这里要选择的应该是hexo原配置仓库,这样你的md文件有变动就会触发更新,而不需要手动执行hexo d

image.png

选择了之后,会弹出来让你选择分支、部署命令、发布页面

  • 分支:根据你自己的情况选择
  • Framework perset:这里面没有hexo,保留为None即可
  • 部署命令:npm run build
  • 发布页面:public

配置如下图所示

image.png

请注意,在cf的官方文档里面,提到部署命令使用hexo generate,这是错误的!因为该命令会报错找不到hexo,无法正常部署!如下便是我依照官方文档使用了hexo generate命令之后的错误输出,报错了hexo: not found

11:50:19.363	Some issues need review, and may require choosing
11:50:19.363	a different dependency.
11:50:19.363	
11:50:19.363	Run `npm audit` for details.
11:50:19.383	Executing user command: hexo generate
11:50:19.391	/bin/sh: 1: hexo: not found
11:50:19.393	Failed: Error while executing user command. Exited with error code: 127
11:50:19.400	Failed: build command exited with code: 1
11:50:20.318	Failed: error occurred while running build command

使用npm run build就能正常部署,稍等几分钟你就能获得一个链接,博客就部署成功了。

image.png

点击Custom domains来配置你的自定义域名,因为我的主域名并没有在cloudflare上使用,所以这里得选择右侧的my dns provider来配置CNAME解析。

image.png

去你的域名控制台添加对应CNAME即可,添加CNAME解析后,点击下方的check DNS records验证是否配置成功。

image.png

成功了之后你就可以用自定义域名来访问这个cloudflare pages了,而且ssl证书也会自动部署,不需要我们做任何额外操作。

The end

cf的这个配置还是挺简单的,不过有个缺点就是国内cf的访问速度很捉急,甚至有可能打不开。不过hexo静态博客的优势在于我们可以弄一大堆镜像站,这样主站挂了也不担心😜。

如果你是本站的访问者,本站的站点分布如下,只需要在域名的blog后面加个数字即可,还是很好记住的。如果哪天你发现主站打不开了,可以试试其他镜像站,总有一个能打开的。

blog.msunow.top   主站(又拍云CDN)
blog1.musnow.top  netlify部署(主站回源站)
blog2.musnow.top  vercel部署
blog3.musnow.top  cloudflare pages部署
musnows.github.io

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

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

相关文章

搭建Windows环境下的Redis服务与TinyRDM客户端

Redis是一个开源的高性能键值对数据库,以其内存中数据存储和快速的读写能力而广受开发者欢迎。在Windows环境下搭建Redis服务并使用TinyRDM客户端,可以为开发和日常使用提供极大的便利。 安装Redis服务 1. 下载Redis安装包 首先,下载Redis…

conda install 报错:LibMambaUnsatisfiableError

出现这个错误 LibMambaUnsatisfiableError 通常是因为 Conda 无法在当前配置的通道中找到满足所有依赖项的软件包。 运行下面两个命令解决: conda config --add channels conda-forge conda install -c stanfordnlp stanza1.4.0 有些包可能不在默认的 Conda 通道中…

ECharts tooltip默认html样式,保留样式只对数值格式化

之前遇到过需要对数据进行百分比展示,echarts提供的默认样式还是挺好的所以想保留样式,但是设置了formatter默认样式就没了,所以写了formatter的html字符串模拟还原了一下默认样式,在此记录和分享。 适用场景:对数据进…

MySQL中 EXPLAIN 的使用介绍

Day08-11. MySQL-索引-结构_哔哩哔哩_bilibili 使用 EXPLAIN 在查询语句前加上 EXPLAIN 关键字: EXPLAIN SELECT * FROM orders WHERE customer_id 123 AND order_date > 2023-01-01; 执行上述 EXPLAIN 语句,查看输出结果。MySQL 会返回一个包含查…

Linux 可视化管理工具:Webmin

😀前言 在 Linux 系统的运维管理中,命令行界面(CLI)是主要的操作方式。然而,对于许多系统管理员或开发者来说,使用 CLI 进行管理和维护任务并不总是最直观或最方便的方式。为了简化操作并提高效率&#xff…

LLama3本地部署安装

这篇教程将指导你如何在本机上安装 LLama3 客户端和可视化对话界面,我们会分为三部分:安装 LLama3 客户端、部署大模型和设置模型文件路径。 一、LLama3客户端安装 去 Ollama 官网下载 Ollama 客户端 Download Ollama on macOS 选择合适的操作系统平台…

Unity 编辑器-监听创建控件,prefab创建或添加组件的自动处理⭐

拓展控件 需求解决方案方案 需求 比如我想在添加Text时,自动添加一个脚本,用于处理多语言。在添加图片时,自动去掉raycast的勾选以节约性能损耗 解决方案 方案 ObjectFactory.componentWasAdded 用于监听组件的添加事件 using TMPro; us…

《基于智能化填报的单病种质量监测系统》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

Python在QtSide6(PyQt)上加载网页使用OpenCV进行图像处理

基本思路: 1.在Qt Designer中添加QWebEngineView,该组件可用于加载网页 2.在python中开启Timer事件,每10ms进行一次网页窗口截图(QWidget.grab) 3.将截图(QPixmap)转换为cv.mat,进行图像处理…

关于thinkPHP3.2中的rewrite不严谨问题会导致网站被注入以及nginx配置中的if多条件判断问题-阿里云阻止指host访问

一、关于thinkPHP3.2中的rewrite不严谨问题会导致网站被注入 thinkPHP3.2的rewrite问题,之前也没在意过,但是今天浏览了一下服务器的一套CMS的相关东西,因为这套CMS是使用thinkPHP3.2搭建的,在浏览代码时发现其目录架构与目前的流…

内网横向移动常用方法

横向移动 #横向移动含义 横向移动是以已经被攻陷的系统为跳板,通过收集跳板机的信息(文档,存储的凭证,ipc连接记录等等信息)来访问其他域内主机。#常见横向手段 1,通过相同的用户名密码批量ipc连接其他域内…

【C++二分查找 】1477. 找两个和为目标值且不重叠的子数组

本文涉及的基础知识点 C二分查找 C算法:滑动窗口总结 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode1477. 找两个和为目标值且不重叠的子数组 给你一个整数数组 arr 和一个整数值 target 。 请你在 arr 中找 两个互…

C语言 | Leetcode C语言题解之第368题最大整除子集

题目: 题解: int cmp(int* a, int* b) {return *a - *b; }int* largestDivisibleSubset(int* nums, int numsSize, int* returnSize) {int len numsSize;qsort(nums, numsSize, sizeof(int), cmp);// 第 1 步:动态规划找出最大子集的个数、…

Java | Leetcode Java题解之第371题两整数之和

题目&#xff1a; 题解&#xff1a; class Solution {public int getSum(int a, int b) {while (b ! 0) {int carry (a & b) << 1;a a ^ b;b carry;}return a;} }

【Python】函数内的全局变量关键字gobal值,在函数外调用,有块“免死金牌”

在python世界里&#xff0c;全局变量global关键字&#xff0c;在函数间的跳转&#xff0c;就像是被赋予独立于体系的全局者&#xff0c;拥有一块“免死金牌”。 他拥有一种特权——它只是函数内部的对象&#xff0c;但是却能在函数外&#xff0c;亮出自己身份的全局变量&#…

浅拷贝和深拷贝(图文详解)

前端面试中&#xff0c;面试官经常会提到关于浅拷贝和深拷贝的问题。但是我总是理解于它的表面&#xff0c;面试中再深挖一点就会卡壳&#xff0c;我想把我的理解写下来&#xff0c;希望可以帮助到大家&#xff0c;如果有错误的地方希望大家可以指正&#xff0c;以免误导~ 看这…

mysql的安装与初始化

mysql mysql5.7.40下载链接 mysql安装文档 1. 编译安装过程 yum install -y cmake # 安装cmake tar xf mysql-boost-5.7.40.tar.gz cd /root/mysql-5.7.40 cmake -LH # 查看cmake的默认参数&#xff0c;需要进入mysql目录 yum install -y gcc-c.x86_64 yum install -y bis…

漏洞挖掘 | 记一次伪静态页面的SQL注入

前言 最近工作繁忙&#xff0c;许久没有挖洞&#xff0c;打开度娘&#xff0c;凡事随缘&#xff0c;偶米头发~~(⊙﹏⊙) 涉及技能点 SQL注入基础原理 盲注常用函数及思路 burpsuite基础知识 过程记录 1.发现 在翻阅一EDU站点时&#xff0c;发现路径中带有明显的数字参数 …

Java语言程序设计基础篇_编程练习题*17.1 (创建一个文本文件)

题目&#xff1a;*17.1 (创建一个文本文件) 编写一个程序&#xff0c;如果文件 Exercise17_01.txt 不存在&#xff0c;就创建一个名为 Exercise17_01.txt 的文件。向这个文件追加新数据。使用文本 I/O 将 100 个随机生成的整数写入这个文件。文件中的整数用空格分隔。 习题思路…

Sqlite3数据库表内数据批量读取操作---sqlite3_stmt机制

0、引言 在前面两篇文章已经对数据环境搭建、数据批量写入库中进行了较为详细的讲解。因此&#xff0c;基于前两篇文章内容的基础上&#xff0c;本文主要从数据库中批量数据读取操作进行梳理讲解。 嵌入式数据库SQLite 3配置使用详细笔记教程_sqlite3-CSDN博客 SQLite 3 优化批…