前言
如果你还没有部署过 Hexo ,可以看看官方手册,如何快速在 GitHub Pages 上部署 Hexo
当部署好之后,部分大陆用户可能会访问不了你的网站。所以一起动手将你的网站发布到你的个人服务器上吧~
准备小料:
- 一台国内能访问的云服务器
- 已部署到 GitHub Pages 的 Hexo 页面
- 一个域名(可选)
安装 Nginx
这里使用 Docker安装,请按照流程配置
编辑 CI 配置
- 打开
.github/workflows/pages.yml
- 在步骤
Upload Pages artifact
后追加以下内容(注意缩进格式):1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16- name: Upload to Personal Server
if: env.SSH_PRIVATE_KEY && env.SERVER_USER && env.SERVER_ADDRESS && env.SERVER_PORT && env.SERVER_PAGE_PATH
uses: appleboy/[email protected]
with:
host: ${{ vars.SERVER_ADDRESS }}
username: ${{ vars.SERVER_USER }}
port: ${{ vars.SERVER_PORT }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
source: "./public/*"
target: ${{ vars.SERVER_PAGE_PATH }}
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SERVER_USER: ${{ vars.SERVER_USER }}
SERVER_ADDRESS: ${{ vars.SERVER_ADDRESS }}
SERVER_PORT: ${{ vars.SERVER_PORT }}
SERVER_PAGE_PATH: ${{ vars.SERVER_PAGE_PATH }} - 在 Hexo GitHub Pages 仓库的
设置
Secrets and variables
Actions
- 添加一个 Secrets
SSH_PRIVATE_KEY
具体生成方式见 SSH 秘钥登录 - 切换到
Variables
添加Repository variables
- SERVER_ADDRESS:服务器地址
- SERVER_USER:用户名
- SERVER_PORT:端口
- SERVER_PAGE_PATH:存放 Hexo 打包产物的路径(如果是用第二点中的方式安装,路径应该是
/opt/docker_nginx/html/
)
- 添加一个 Secrets
部署
提交 main 分支,会自动部署到你的服务器和GitHub Pages ~