惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Troy Hunt's Blog
P
Proofpoint News Feed
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
K
Kaspersky official blog
Cyberwarzone
Cyberwarzone
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
S
Securelist
L
Lohrmann on Cybersecurity
Security Latest
Security Latest
T
Threatpost
H
Heimdal Security Blog
W
WeLiveSecurity
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
GRAHAM CLULEY
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
TaoSecurity Blog
TaoSecurity Blog
A
About on SuperTechFans
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Azure Blog
Microsoft Azure Blog
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
量子位
Stack Overflow Blog
Stack Overflow Blog
Know Your Adversary
Know Your Adversary
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
AI
AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
Vercel News
Vercel News
C
Cyber Attacks, Cyber Crime and Cyber Security
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
Forbes - Security
Forbes - Security

泠泫凝的异次元空间

通过串口安装Linux | 泠泫凝的异次元空间 curl自编译 | 泠泫凝的异次元空间 Minecraft 认证服务器代理 | 泠泫凝的异次元空间 飞塔分流配置实战 | 泠泫凝的异次元空间 Windows 安全启动证书检查 | 泠泫凝的异次元空间 Lxn-OneDriveCLI | 泠泫凝的异次元空间 华三交换机配置 ERPS 环网 | 泠泫凝的异次元空间 PVE 配置 VLAN 感知 | 泠泫凝的异次元空间 MT7922 无线网卡安装 | 泠泫凝的异次元空间 无显示输出 Linux 主机配置桌面显示 | 泠泫凝的异次元空间 Wireguard 部署 SOP 手册(自用) | 泠泫凝的异次元空间 Zabbix 7.4 通过钉钉发送告警提醒 | 泠泫凝的异次元空间 Debian with xfce 通过 VNC 共享屏幕 华三S6860 IRF堆叠 | 泠泫凝的异次元空间 iPad 应用侧载 | 泠泫凝的异次元空间 Smart DNS 分区解析 | 泠泫凝的异次元空间 建立 NFS 服务器并挂载到客户端 | 泠泫凝的异次元空间 将 Android 以 MTP 方式连接至 Debian PVE 虚拟机迁移至 vCenter | 泠泫凝的异次元空间 vCenter 虚拟机迁移至 PVE | 泠泫凝的异次元空间 PVE迁移时提示密钥验证失败 | 泠泫凝的异次元空间 修改Windows设备设置区域 | 泠泫凝的异次元空间 恢复 SecureCRT 7.x 保存的密码 | 泠泫凝的异次元空间 PVE 超融合下电与上电流程 | 泠泫凝的异次元空间 记一次Zabbix异常处理 | 泠泫凝的异次元空间 苹果设备保存SHSH2 | 泠泫凝的异次元空间 PVE超融合部署 | 泠泫凝的异次元空间 树莓派启用zram | 泠泫凝的异次元空间 在 Hyper-V 上安装 EVE-NG | 泠泫凝的异次元空间 Zabbix 部署与 Windows 硬件信息收集 | 泠泫凝的异次元空间 在WSL2中安装CUDA支持 | 泠泫凝的异次元空间 MinIO 集群部署 | 泠泫凝的异次元空间 vmware 虚拟化平台备份工具 Veeam 12 安装及配置 ubuntu 24.04 安装 nVidia 驱动后网卡消失 XMRig 自编译 | 泠泫凝的异次元空间 云桌面通过组策略统一体验配置 | 泠泫凝的异次元空间 Fortigate SSLVPN 无法连接内网 VNC 服务器 CentOS 7 使用镜像作为本地源并将自身作为YUM源服务器 | 泠泫凝的异次元空间 CentOS 7 离线更新 OpenSSH 服务 使用KubeKey离线部署Kubernetes | 泠泫凝的异次元空间 使用PGP对消息进行签名 | 泠泫凝的异次元空间 禁止MinIO展示桶内文件列表 | 泠泫凝的异次元空间 华为 Fusion Access 云桌面部署 | 泠泫凝的异次元空间 vmware Horizon 模板机部署 | 泠泫凝的异次元空间 vmware Horizon 云桌面与云应用部署 | 泠泫凝的异次元空间 Citrix XenApp 云应用交付 | 泠泫凝的异次元空间 Citrix XenDesktop 云桌面部署 | 泠泫凝的异次元空间 PVE LVM 扩容 | 泠泫凝的异次元空间 Linux 网络聚合(bond方式) | 泠泫凝的异次元空间 Citrix XenServer 7.2 部署教程 | 泠泫凝的异次元空间 在 Windows Server 2019 上安装 AMD 显卡驱动 openEuler 安装并使用 EPEL 源 | 泠泫凝的异次元空间 从已有Linux系统创建带桌面环境的Docker镜像 | 泠泫凝的异次元空间 下载联想原厂镜像及解密 | 泠泫凝的异次元空间 在基于 arm 架构的服务器上安装 PVE | 泠泫凝的异次元空间 自制 EVE-NG 镜像 | 泠泫凝的异次元空间 不使用 Snap 在 ubuntu 上安装 Chromium 浏览器 Fortigate 6.2 固件从 PPPoE 获得 IPv6 地址 Fortigate 手记 | 泠泫凝的异次元空间 Fortigate 通过命令行自定义 NTP 服务器 | 泠泫凝的异次元空间 arm 架构 CentOS 7 安装 MySQL 5.7 版本 ubuntu 20 安装计算卡驱动和 CUDA Toolkit 锐捷诺客云添加设备后一直显示“等待同步” | 泠泫凝的异次元空间 Windows 10 自动登录 | 泠泫凝的异次元空间 OpenWRT IPv6 防火墙设置 | 泠泫凝的异次元空间 k8s 部署踩坑合集 | 泠泫凝的异次元空间 改变 Ubuntu TTY 终端字体 | 泠泫凝的异次元空间 Parted 无损扩容磁盘分区 | 泠泫凝的异次元空间 NTP服务器测试 | 泠泫凝的异次元空间 【相亲相爱】2024祝大家!新年快乐!!! ESXi中重新挂载数据盘 | 泠泫凝的异次元空间 使用 MediaMTX + RTSP 搭建低延迟直播服务器 Firewalld 手记 | 泠泫凝的异次元空间 Ubuntu 上不使用 snapd 安装 Firefox 在 armbian 上安装 xfce 和 VNC 做远程桌面 在 ubuntu 20 上使用 TigerVNC 做远程桌面 在 openEuler 上部署安装 openGauss | 泠泫凝的异次元空间 Wireguard 组网笔记 | 泠泫凝的异次元空间 让特定IP(段)走VPN连接 | 泠泫凝的异次元空间 在Wireguard中排除部分IP(段) | 泠泫凝的异次元空间 CentOS 7 上升级 OpenSSL | 泠泫凝的异次元空间 将黑群晖部署到ESXi(笔记) | 泠泫凝的异次元空间 apk 代码反编译笔记 | 泠泫凝的异次元空间 Windows 搭建 iSCSI 服务器全攻略 | 泠泫凝的异次元空间 CentOS 7 编译安装 Python 3 开源语音识别工具 Whisper | 泠泫凝的异次元空间 Ubuntu 下 Python 编译安装及关联问题解决 | 泠泫凝的异次元空间 Ansible Tower 安装 | 泠泫凝的异次元空间 提高 PowerPoint 导出到图片时的分辨率 | 泠泫凝的异次元空间 利用亚马逊云服务器和VPC 构建安全可靠的虚拟网络 | 泠泫凝的异次元空间 Windows Server 多网卡链路聚合 | 泠泫凝的异次元空间 MT3000路由+移远EC20模块体验 | 泠泫凝的异次元空间 Python安装依赖时出现ctype问题 | 泠泫凝的异次元空间 GL-MT3000日用设置 | 泠泫凝的异次元空间 解除 vCenter 的最低内存限制 | 泠泫凝的异次元空间 跳过Windows 11的强制联网和账户登录 | 泠泫凝的异次元空间 Cloudflare Trace API 信息详解 | 泠泫凝的异次元空间 在CentOS中搭建由nginx反代和Apache2作为后端的Wordpress | 泠泫凝的异次元空间 通过nginx进行文件共享 | 泠泫凝的异次元空间 禁用 sudo 时密码认证 | 泠泫凝的异次元空间
使用 Cloudflare 或 Pages 部署静态网站
Lxn's Area · 2022-06-28 · via 泠泫凝的异次元空间

【超详细】使用 Cloudflare Workers 或者 Pages 甚至不必购买自己的域名部署静态网站。

总述

先来说一下传统的网站如何部署:首先购买域名和服务器,在服务器上安装对应的 HTTP 服务软件,将网页上传至服务器,部署成功。

但是这样会有一个弊端,即需要购买服务器(和域名)以及配置服务器,对于仅是测试用途或自身喜好来说可能一时热情并不抵得上开销,于是能否将网页部署至非自己的服务器上呢,此时 Cloudflare Workers 或者 Pages 就派上用场了,使用 Cloudflare Workers 或者 Pages 甚至不必购买自己的域名即可部署静态网站(传统 HTML 或者 Hexo 等等都是可以的)。

Cloudflare Workers 并不只有部署静态网站的功能,其他更多功能请参见 Cloudflare Workers 官方文档

Cloudflare Workers 方案

基本原理是本地构建然后再上传到 KV 存储,适合跳转比较多或者规则(比如限制某些UA访问或某些IP访问)比较多的情况;一般不能自动化(可以借助 Github Actions 自动构建和推送);最大项目大小为 1GB (KV存储限制)。

如果使用 Cloudflare Workers 部署则需要:

  1. 已经注册好的 Cloudflare 账号;

  2. 在你的电脑上安装 nodejs (版本应该是不限,测试 node 12 以上版本均可),并安装 Wrangler (下面会讲到如何安装);

  3. 已经渲染好的网站成品(如果是需要渲染(如 Hexo 等)的通常是在publicdist文件夹下);

Cloudflare Pages 方案

也可以部署到 Cloudflare Pages ,相对来说会简单一些而且自动化方案会多一些,能够直接在 cloudflare 上进行构建。

原理很简单,把 blog 源码全部上传到 Github 或者 Gitlab 仓库(私有仓库也可以)中,然后在 Cloudflare 上进行设置并让 Cloudflare 构建和发布。

配置 Wrangler

全局安装

打开终端,输入如下命令安装 Wrangler :

1
npm i @cloudflare/wrangler -g

初始化

进入 hexo/hugo 或者空的文件夹都可以,在该文件夹下打开终端,初始化 Wrangler ,其中<site-name>可以随便输入一个项目名称或站点名称:

1
2
wrangler init --site <site-name>

此时应有返回:

1
2
3
4
Creating project called `workers-site`...
Done! New project created /home/testuser/hexo-blog-demo/workers-site
Successfully scaffolded workers site
Succesfully created a `wrangler.toml`

并且根目录中多了一个文件夹和一个配置文件:

1
2
drwxr-xr-x 1 TestUser     0  119 23:18 workers-site/
-rw-r--r-- 1 TestUser 204 119 23:18 wrangler.toml

至此即为初始化成功。

hexo

打开配置文件:

1
2
3
4
5
6
7
8
9
name = "testproj"
type = "webpack"
route = ''
zone_id = ''
usage_model = ''
compatibility_flags = []
workers_dev = true
site = {bucket = "",entry-point = "workers-site"}
compatibility_date = "2022-01-19"

其中我们只需要关心以下几个参数:

TOML 配置文件格式要求只能使用 UTF-8 编码,且大小写敏感
出于稳定考虑也不要乱动原有的空格和缩进格式。

1
2
3
4
5
6
7


zone_id = ''



site = {bucket = "./public",entry-point = "workers-site"}

然后用 hexo 进行一次渲染:

1
hexo cl&&hexo g

并确保hexo项目根目录下有public文件夹且该文件夹中有已经渲染好的HTML文件。

传统 html 文件或其他 node 项目

打开配置文件:

1
2
3
4
5
6
7
8
9
name = "aria-ng"
type = "webpack"
route = ''
zone_id = ''
usage_model = ''
compatibility_flags = []
workers_dev = true
site = {bucket = "",entry-point = "workers-site"}
compatibility_date = "2022-01-19"

其中我们只需要关心以下几个参数:

TOML 配置文件格式要求只能使用 UTF-8 编码,且大小写敏感
出于稳定考虑也不要乱动原有的空格和缩进格式。

1
2
3
4
5
6
7


zone_id = ''



site = {bucket = "./dist",entry-point = "workers-site"}

然后用 hexo 进行一次渲染:

1
hexo cl&&hexo g

并确保刚才填入的bucket目录下有已经渲染好的HTML文件即可。

获取 API Token

打开 Cloudflare 控制台的 API 令牌 页面,点击“创建令牌”,使用“编辑 Cloudflare Workers”模板,账户资源选择当前账户,区域资源选择刚才用过ZoneID的域名,其他均保持默认,查看摘要后选择创建令牌,记下该 API 令牌并将其存放在安全的地方,该令牌不会再显示第二次,不要多项目混用同一令牌,也建议不要使用全局API,应“一项目一令牌”。

获得令牌后最好使用 Cloudflare 提供的令牌测试命令测试一下 Token 是否正常运行,正确运行的情况下应有This API Token is valid and active字样返回。

在终端中运行如下命令并按提示输入刚才获得的令牌即可配置完成:

1
wrangler config

出现Successfully configured返回即为成功。

如果出现不能认证的问题,请检查以下是否有使用代理或者存在全局广告屏蔽(如AdGuard等),若遇到错误请先将这些禁用后再试一下。

预览

1
wrangler preview --watch

此时会自动打开浏览器并生成预览,没什么问题就可以下一步了。

发布

1
wrangler publish

出现以下返回值即为成功,访问新出现的地址即可:

1
2
Successfully published your script to
https://testproj.xxx.workers.dev

刚部署好的几分钟内可能并不能打开上面的地址,如果打不开就先等几分钟。

可以访问之后再创建自定义域之类的就很简单了,这里就不再赘述了。

最后贴一个示例站点:hexo-cfw-demo

注意

Cloudflare 会计算请求量并以此来计费,免费版的 Cloudflare Workers 仅提供每天100,000次请求。要注意的是,不是一次 PV 算一次请求,若一个页面上有很多外挂 css 、js 、 图片等资源则每请求一项计算请求一次

例如本页加载一次至少有 70 次请求,则被访问一次额度就减少70,总额度就是每天只能被访问100,000/70=1428次,超出后可能产生高额账单或被停止服务。

该方法更适合部署纯静态网站,其本身也支持一些框架,但并不包含Hexo

这里只是以 Hexo 为例,具体 Cloudflare Pages 支持构建的框架请查看 Cloudflare 官方文档。

本地设置

使用 Pages 构建本地基本不用设置什么,能够正常渲染和使用即可。

确认可以正常渲染并预览无误后在 Github 创建仓库(Private私有仓库或Public公共仓库均可),并将整个项目上传到该仓库。

Pages 设置

请使用新版 Cloudflare 控制台。

这一节包含一些图片,但是在无图模式下也不影响操作和阅读。

  1. 打开 Cloudflare 控制台,左侧找到 Pages ,右侧点击“创建项目”;

Cloudflare 控制台

  1. 选择连接到Git;

  1. 连接到 Github 或者 Gitlab ,这里以 Github 为例;

  1. 然后会跳转到 Github 认证(选择个人或组织账号)界面;

  1. 接下来是权限选择界面,建议只选择项目仓库;

  1. 选择刚才选择的仓库;

  1. 设置构建:其中“项目名称”与默认域名有关;生产分支选默认的即可;

构建设置中提供了一些预设的框架构建模板,如果里面没有找到你的框架则需要在下面的“构建命令”中填写你的构建命令,例如 hexo 就是hexo g

构建输出目录填写最后构建完成后输出的目录即可。

如果你的项目需要额外的环境变量或你的 Node 版本不是 Cloudflare 默认提供的版本(Node 12),则需要在下方创建环境变量,修改Node版本的环境变量为NODE_VERSION=16,修改Node版本的环境变量为NODE_VERSION=16.13.2(举例,实际版本以实际情况自行修改,一定要是三段式的写法,如16.13.2)。

  • 如果修改环境变量后并没有实质性更改 Node 版本,也可以通过在.npmrc文件中写入版本号做到更改默认 Node 版本。具体操作方法是在.npmrc文件末尾添加一行use-node-version=16.13.2(举例,实际版本以实际情况自行修改)即可。
  • 也可以把版本号写入.node-version文件中,格式为 Unix(LF) 换行格式的只写有版本号的文件,内容为node -v的输出内容,如v12.18.1

  1. 然后等待构建完成并部署上线即可;

构建完成提示成功:

成功后等待上线访问 Cloudflare 提供的域名即可。

自定义域名

Pages 无需将域名的 NS 迁入 Cloudflare ,不在 Cloudflare 的域名只需 CNAME 解析到他提供的记录上即可。

示例站点

该站点和 Workers 的示例站点使用的是一套源码,里面一些细节就懒得不做更改了。

示例站点:hexo-cp-demo-public.lxnchan.eu.org

注意

Cloudflare 会计算请求量并以此来计费,免费版的 Cloudflare Pages 也仅提供每天100,000次请求。要注意的是,不是一次 PV 算一次请求,若一个页面上有很多外挂 css 、js 、 图片等资源则每请求一项计算请求一次

例如本页加载一次至少有 70 次请求,则被访问一次额度就减少 70 ,总额度就是每天只能被访问 100,000/70=1428 次,超出后可能产生高额账单或被停止服务


文档信息

更改记录

时间改动
2022-06-28 11:05:00文章创建
2022-06-29 15:52:00内容完善并添加 Pages
2022-06-29 21:35:00完善内容
2022-07-02 08:43:00完善内容

 上一篇

ubuntu