一键部署

Hexo 提供快速便捷的部署策略。您只需一个命令即可将您的网站部署到服务器。

$ hexo deploy

安装必要的插件,这些插件与您的服务器/代码库提供的部署方法兼容。

部署通常通过_config.yml 进行配置。有效的配置必须包含type 字段。例如

deploy:
type: git

您可以使用多个部署器。Hexo 将按顺序执行每个部署器。

deploy:
- type: git
repo:
- type: heroku
repo:

有关更多部署插件,请参阅插件 列表。

Git

  1. 安装 hexo-deployer-git
$ npm install hexo-deployer-git --save
  1. 编辑_config.yml(下面显示的示例值作为注释)
deploy:
type: git
repo: <repository url> # https://bitbucket.org/JohnSmith/johnsmith.bitbucket.io
branch: [branch]
message: [message]
选项 描述 默认值
repo 目标代码库的 URL
branch 分支名称。 gh-pages (GitHub)
coding-pages (Coding.net)
master (其他)
message 自定义提交消息。 网站更新: {{ now('YYYY-MM-DD HH:mm:ss') }}
token 可选的令牌值,用于对代码库进行身份验证。以$ 为前缀,从环境变量中读取令牌
  1. 部署您的网站 hexo clean && hexo deploy
  • 除非您使用令牌或 SSH 密钥进行身份验证,否则系统会提示您输入目标代码库的用户名和密码。
  • hexo-deployer-git 不会存储您的用户名和密码。使用 git-credential-cache 临时存储它们。
  1. 导航到您的代码库设置并更改“Pages”分支为 gh-pages(或您在配置中指定的分支)。部署的网站应在“Pages”设置中显示的链接上生效。

Heroku

安装 hexo-deployer-heroku

$ npm install hexo-deployer-heroku --save

编辑设置。

deploy:
type: heroku
repo: <repository url>
message: [message]
选项 描述
repo, repository Heroku 代码库 URL
message 自定义提交消息(默认值为 Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}

Netlify

Netlify 提供持续部署(Git 触发构建)、智能全球 CDN、完整 DNS(包括自定义域名)、自动 HTTPS、资产加速等更多功能。它是一个统一的平台,可以自动执行您的代码,以创建高性能、易于维护的网站和 Web 应用。

有两种不同的方法可以在 Netlify 上部署您的网站。最常见的方法是使用 Web UI。转到 创建新网站页面,从 GitHub、GitLab 或 Bitbucket 中选择您的项目代码库,并按照提示操作。

或者,您可以使用 Netlify 的 基于 Node 的 CLI 工具来管理和部署 Netlify 上的网站,而无需离开您的终端。

您还可以在您的 README 文件中添加一个 部署到 Netlify 按钮,允许其他人创建您的代码库的副本并通过单击部署到 Netlify。

Rsync

安装 hexo-deployer-rsync

$ npm install hexo-deployer-rsync --save

编辑设置。

deploy:
type: rsync
host: <host>
user: <user>
root: <root>
port: [port]
delete: [true|false]
verbose: [true|false]
ignore_errors: [true|false]
选项 描述 默认值
host 远程主机的地址
user 用户名
root 远程主机的根目录
port 端口 22
delete 删除远程主机上的旧文件 true
verbose 显示详细消息 true
ignore_errors 忽略错误 false

OpenShift

hexo-deployer-openshift 已于 2022 年弃用。

安装 hexo-deployer-openshift

$ npm install hexo-deployer-openshift --save

编辑设置。

deploy:
type: openshift
repo: <repository url>
message: [message]
选项 描述
repo OpenShift 代码库 URL
message 自定义提交消息(默认值为 Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}

FTPSync

安装 hexo-deployer-ftpsync

$ npm install hexo-deployer-ftpsync --save

编辑设置。

deploy:
type: ftpsync
host: <host>
user: <user>
pass: <password>
remote: [remote]
port: [port]
clear: [true|false]
verbose: [true|false]
选项 描述 默认值
host 远程主机的地址
user 用户名
pass 密码
remote 远程主机的根目录 /
port 端口 21
clear 在上传之前删除远程目录中的所有文件和目录 false
verbose 显示详细消息 false

SFTP

安装 hexo-deployer-sftp。通过 SFTP 部署网站,允许使用 ssh-agent 进行无密码连接。

$ npm install hexo-deployer-sftp --save

编辑设置。

deploy:
type: sftp
host: <host>
user: <user>
pass: <password>
remotePath: [remote path]
port: [port]
privateKey: [path/to/privateKey]
passphrase: [passphrase]
agent: [path/to/agent/socket]
选项 描述 默认值
host 远程主机的地址
port 端口 22
user 用户名
pass 密码
privateKey SSH 私钥的路径
passphrase 私钥的可选密码
agent ssh-agent 套接字的路径 $SSH_AUTH_SOCK
remotePath 远程主机的根目录 /
forceUpload 覆盖现有文件 false
concurrency 并发处理 SFTP 任务的最大数量 100

Vercel

Vercel 是一个云平台,使开发人员能够托管 Jamstack 网站和 Web 服务,这些网站和 Web 服务可以立即部署、自动扩展,并且无需监督,所有这些都无需配置。它们提供全球边缘网络、SSL 加密、资产压缩、缓存失效等更多功能。

步骤 1:将构建脚本添加到您的 package.json 文件中

{
"scripts": {
"build": "hexo generate"
}
}

步骤 2:将您的 Hexo 网站部署到 Vercel

要使用 Vercel for Git 集成 部署您的 Hexo 应用,请确保它已推送到 Git 代码库。

使用 导入流程 将项目导入 Vercel。在导入过程中,您会发现所有相关的选项都已预先配置好;但是,您可以选择更改任何这些选项,可以在 这里 找到它们的列表。

导入项目后,对分支的后续所有推送都会生成 预览部署,对 生产分支(通常为“main”)进行的所有更改都会导致 生产部署

或者,您可以单击下面的部署按钮来创建一个新项目

Deploy Vercel

Bip

Bip 是一项商业托管服务,为静态网站提供零停机时间部署、全球 CDN、SSL、无限带宽等功能。计划按每次使用、每个域名的基础提供。

入门快速简便,因为 Bip 为 Hexo 提供开箱即用的支持。本指南假设您已经 安装了 Bip 域名和 Bip CLI

1:初始化您的项目目录

$ bip init

按照提示操作,系统会询问您要部署到哪个域名。Bip 会检测到您使用的是 Hexo,并自动设置项目设置,例如源文件目录。

2:部署您的网站

$ hexo generate —deploy && bip deploy

片刻之后,您的网站将被部署。

RSS3

hexo-deployer-rss3 已于 2023 年弃用。

RSS3 是一种为 Web 3.0 时代的内容和社交网络设计的开放协议。

  1. 安装 hexo-deployer-rss3

  2. 修改配置。

deploy: # The root configuration block for all deployers
- type: rss3
endpoint: https://hub.rss3.io
privateKey: 47e18d6c386898b424025cd9db446f779ef24ad33a26c499c87bb3d9372540ba
ipfs:
deploy: true
gateway: pinata
api:
key: d693df715d3631e489d6
secret: ee8b74626f12b61c1a4bde3b8c331ad390567c86ba779c9b18561ee92c1cbff0
参数 描述
endpoint RSS3 Hub 的链接
privateKey 您的私钥,64 字节
ipfs/deploy 是否部署到 IPFS
ipfs/gateway IPFS API 网关
ipfs/api/key 与 IPFS 网关相关的身份验证内容
ipfs/api/secret 与 IPFS 网关相关的身份验证内容
  1. 生成静态文件

  2. deploy

有关部署方面的考虑,您可以参考 我们的文档

Edgio (formerly Layer0)

Edgio (formerly Layer0) 是一个互联网规模的平台,使团队能够轻松地构建、发布、保护和加速他们的 Web 应用和 API。

  1. 在您的 hexo 项目目录中,安装 Edgio CLI
npm i -g @edgio/cli
  1. 安装 Edgio 的 Hexo 连接器
edgio init --connector=@edgio/hexo
  1. 部署
edgio deploy

或者,您可以单击下面的部署按钮来创建一个新项目

Deploy To Edgio

其他方法

所有生成的文件都保存在 public 文件夹中。您可以将它们复制到您喜欢的任何位置。