构建Serverless应用
现在的gitee,coding等代码托管的平台,都取消了pages服务,这里记录一下怎么在Serverless上部署静态资源
在Page-server服务不可用的情况下,使用腾讯云Serverless架构搭建一个Hexo静态博客是一个很好的选择。本文将详细介绍如何通过腾讯云Serverless架构,并绑定存储桶和Git来构建和部署你的Hexo博客
准备工作
在开始之前,我们需要准备以下工具和资源:
- Hexo(静态网站生成器)
- 腾讯云账号(用于使用腾讯云Serverless服务)
- 腾讯云命令行工具(CLI)
- GitHub(或其他Git服务)账号(用于托管源代码)
两种方法部署,挑选适合自己的部署方式
方式一
构建 Serverless Hexo 站点
以下记录在官网构建的基础上新增了 配置COS和Git绑定
1. 创建Hexo静态网站
安装Hexo和初始化项目
- 安装Hexo:
1
npm install -g hexo-cli
- 初始化Hexo项目:
1
2
3hexo init my-blog
cd my-blog
npm install - 生成静态文件:
1
hexo generate
2. 配置腾讯云COS
腾讯云对象存储(COS)适合托管静态文件。
- 登录腾讯云控制台,进入COS服务。
- 创建新存储桶,选择公共读私有写权限。
- 在“基础配置”中启用静态网站托管,指定索引文档(如
index.html
)和错误文档(如404.html
)。
使用腾讯云CLI上传静态文件
- 安装并配置腾讯云CLI:
1
2pip install coscmd
coscmd config -a <SecretId> -s <SecretKey> -b <BucketName> -r <Region> - 上传静态文件到COS存储桶:
1
coscmd upload -r public/ /
3. 配置腾讯云Serverless服务
腾讯云Serverless框架帮助绑定存储桶和Git仓库,实现自动化部署。
安装Serverless框架
- 安装Serverless框架:
1
npm install -g serverless
配置Serverless项目
- 初始化Serverless项目:
1
2serverless create --template-url https://github.com/serverless/components/tree/master/templates/tencent-website --path my-hexo-blog
cd my-hexo-blog - 修改
serverless.yml
配置文件,绑定COS存储桶和Git仓库:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21org: your-org-name
app: your-app-name
stage: dev
component: "@serverless/tencent-website"
name: my-hexo-blog
inputs:
code:
src: ./public
hook: npm run generate
dist: ./public
region: ap-guangzhou
bucket: your-bucket-name
protocol: https
host: blog.yourdomain.com
environment:
variables:
COS_SECRET_ID: ${env:COS_SECRET_ID}
COS_SECRET_KEY: ${env:COS_SECRET_KEY}
GIT_URL: git@github.com:your-repo/your-blog.git
GIT_BRANCH: main
部署Serverless项目
- 部署项目:
1
serverless deploy
4. 配置CDN
为了提高网站访问速度和全球可用性,可以使用腾讯云CDN进行加速:
- 在腾讯云控制台中,进入CDN服务。
- 添加新的CDN加速域名,源站类型选择COS。
- 配置缓存规则和HTTP头。
5. 实现自动化部署
每次更新博客内容并推送到Git仓库时,Serverless服务会自动将最新的静态文件部署到COS存储桶中。
结论
上面的方法是构建一个 Serverless Hexo 站点来部署你的hexo博客
方式二
这种方法是部署hexo打包后的public文件,之前介绍过了hexo打包部署直接上传到git或者coding,这次就不做介绍了
创建Serverless应用
在腾讯云的控制台中找到Serverless.创建应用时
- 创建方式: 应用市场
- 模板: 快速部署website
下一步的基础配置,写好应用名和存储桶的名称,Serverless会自动创建一个存储桶,点击保存
存储桶修改
在存储桶的列表可以看到刚刚新增的存储桶,配置刚刚的存储桶
- 在权限管理-存储桶访问权限中,把权限改为公有读私有写
- 在基础配置-静态网址中,开启静态网址的服务
自2024年1月1日起,新创建的存储桶不支持使用存储桶默认域名(包括存储桶域名、静态网站域名、全球加速域名)在浏览器预览文件,而是直接下载。所以需要自己自定义域名
部署Serverless
回到Serverless列表,进入应用后点击开发部署中的更新应用
选择代码托管,仓库选择自己要部署的项目,存储桶配置根据自己的需求,选择全量覆盖还是增量更新
结论
配置完成之后,后续提交到git仓库的内容,会同步更新到存储桶中,就可以直接访问页面了
以上就是我对Serverless上部署静态资源的理解,如有错误,欢迎大佬指出