Deploying Hexo Blog | Tencent Cloud
Mục Lục
Overview
This document describes how to use the Serverless Website component to quickly construct a serverless Hexo website.
Prerequisites
- Node.js has been installed (starting from September 1, 2020, Serverless components no longer support Node.js versions below 10.0. Please upgrade if needed).
- You have installed Git.
If the applications above are not installed, please install them as instructed in the Hexo documentation.
Directions
1. Install
Install Serverless Framework through npm:
$ npm install
-g serverless
Install Hexo through npm:
$ npm install -g hexo-cli
After installing Hexo, please run the following command to make Hexo create required files in the specified folder:
hexo init hexo
cd
hexo
npm install
After the specified folder is created, its structure is as follows:
.
├── _config
.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
After the installation is completed, run the hexo g
command to generate a static webpage:
$ hexo g # generate
Note:
If you want to view the result locally, you can run the following command to access
localhost:4000
and view the webpage in a browser:
$
hexo s
2. Configure
Create a serverless.yml
file in the hexo
directory:
$
touch serverless.yml
Configure the serverless.yml
file as follows:
component:
website
name:
hexodemo
app:
websiteApp
stage:
dev
inputs:
src:
src:
./public
index:
index.html
region:
ap-guangzhou
bucketName:
my-bucket
protocol:
https
After the configuration is completed, the directory structure is as follows:
.
├── .serverless
└── hexo
├── public
├── ...
├── serverless.yml
├── ...
└── source
3. Deploy
Deploy by running the sls deploy
command, and you can add the --debug
parameter to view the information during the deployment process:
$ sls deploy
serverless ⚡ framework
Action:
"deploy"
- Stage:
"dev"
- App:
"websiteApp"
- Instance:
"hexodemo"
region:
ap-guangzhou
website:
https:
25
s › hexodemo › Success
You can view your serverless Hexo website by accessing the website URL output by the command line.
Note:
If you want to update an article in your Hexo website, you need to run
hexo g
locally again to generate a static webpage and runserverless
to update the webpage.
4. Remove
You can run the following command to remove the Hexo website:
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
Account configuration (optional)
Currently, you can scan a QR code to log in to the CLI by default. If you want to configure persistent environment variables/key information, you can also create a local .env
file:
$ touch .env
Configure Tencent Cloud’s SecretId
and SecretKey
information in the .env
file and save it:
TENCENT_SECRET_ID
=123
TENCENT_SECRET_KEY
=123
Note:
- If you don’t have a Tencent Cloud account yet, please sign up first.
- If you already have a Tencent Cloud account, you can get
SecretId
andSecretKey
in API Key Management.