tencent cloud

文档反馈

部署 Hexo 博客

最后更新时间:2024-11-28 17:42:45

    操作场景

    该任务指导您通过 Serverless Website 组件,快速构建一个 Serverless Hexo 站点。

    前提条件

    已安装 Node.js2020年9月1日起,Serverless 组件不再支持 Node.js10.0 以下版本,请注意升级)。
    已安装 Git
    如您未安装上述应用程序,可以参考 Hexo 安装说明

    操作步骤

    1. 安装

    通过 npm 安装 Serverless Framework:
    $ npm install -g serverless
    通过 npm 安装 Hexo:
    $ npm install -g hexo-cli
    安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
    $ hexo init hexo # 生成 Hexo 目录
    $ cd hexo
    $ npm install
    新建完成后,指定文件夹的目录如下:
    .
    ├── _config.yml
    ├── package.json
    ├── scaffolds
    ├── source
    | ├── _drafts
    | └── _posts
    └── themes
    安装完成后,可以通过hexo g命令生成静态页面:
    $ hexo g # generate
    说明:
    如果希望在本地查看效果,也可以运行下列命令,通过浏览器访问 localhost:4000 查看页面效果。
    $ hexo s # server

    2. 配置

    hexo目录下,创建serverless.yml文件:
    $ touch serverless.yml
    serverless.yml文件中进行如下配置:
    # serverless.yml
    
    component: website # (必填) 引用 component 的名称,当前用到的是 tencent-website 组件
    name: hexodemo # (必填) 该 website 组件创建的实例名称
    
    app: websiteApp # (可选) 该 website 应用名称
    stage: dev # (可选) 用于区分环境信息,默认值是 dev
    
    inputs:
    src:
    src: ./public # Upload static files generated by HEXO
    index: index.html
    # dist: ./dist
    # hook: npm run build
    # websitePath: ./
    region: ap-guangzhou
    bucketName: my-bucket
    protocol: https
    
    配置完成后,文件目录如下:
    .
    ├── .serverless
    └── hexo
    ├── public
    ├── ...
    ├── serverless.yml
    ├── ...
    └── source
    

    3. 部署

    通过sls deploy命令进行部署,并可以添加--debug参数查看部署过程中的信息。
    $ sls deploy
    
    serverless ⚡ framework
    Action: "deploy" - Stage: "dev" - App: "websiteApp" - Instance: "hexodemo"
    
    region: ap-guangzhou
    website: https://my-bucket-1258834142.cos-website.ap-guangzhou.myqcloud.com
    
    
    25s › hexodemo › Success
    访问命令行输出的 Website URL,即可查看您的 Serverless Hexo 站点。
    注意:
    如果希望更新 Hexo 站点中的文章,需要在本地重新运行hexo g进行生成静态页面,再运行serverless更新到页面。

    4. 移除

    通过以下命令移除 Hexo 网站:
    $ sls remove --debug
    
    DEBUG ─ Flushing template state and removing all components.
    DEBUG ─ Starting Website Removal.
    DEBUG ─ Removing Website bucket.
    DEBUG ─ Removing files from the "my-bucket-1250000000" bucket.
    DEBUG ─ Removing "my-bucket-1250000000" bucket from the "ap-guangzhou" region.
    DEBUG ─ "my-bucket-1250000000" bucket was successfully removed from the "ap-guangzhou" region.
    DEBUG ─ Finished Website Removal.
    
    6s » myWebsite » done
    

    账号配置(可选)

    当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/密钥信息,也可以本地创建 .env 文件:
    $ touch .env # 腾讯云的配置信息
    .env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存:
    # .env
    TENCENT_SECRET_ID=123
    TENCENT_SECRET_KEY=123
    说明:
    如果没有腾讯云账号,请先 注册新账号
    如果已有腾讯云账号,可以在 API 密钥管理 中获取 SecretId 和 SecretKey。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持