搭建自己的博客(二):配置部署

本文最后更新于:2023年9月24日 凌晨

本地Windows环境配置

我用的是win11,和win10环境配置没有差别(大概?),网上的教程都没有特别说明win11与win10的不同,我这里就记录一下我自己的操作

安装Node.js

直接去Node.js官网下载Windows 64-bit安装包即可,安装时不需要特别注意勾选什么,一路下一步即可。安装包的好处就是不需要自己刻意配置环境变量。

随便打开一个终端,检查是否安装成功

1
2
node -v
npm -v

能正确显示版本号即安装成功

安装Hexo

安装Hexo需要Node.js正确安装。

随便打开一个终端,输入以下内容安装Hexo

1
npm install -g hexo-cli

查看是否安装成功

1
hexo -v # 或者 hexo v

使用Hexo

Hexo的作用是,在某一个文件夹下生成博客框架。

1
2
hexo init 你自己定的博客路径
# ex:hexo init D:\MyBlog

部署自己的博客肯定要好看的,hexo初始的博客框架不难看,也说不上好看,想要好看的可以上Hexo官网找找,我使用的是Fluid。

安装主题有两种方法,一种是使用npm命令安装,一种是git clone复制主题到项目文件夹下。需要注意的是,npm安装的主题并不会出现在项目themes文件夹下,而git下载的主题会保存在themes文件夹下。各个主题有自己的配置文档,Fluid也有自己的帮助文档,可以更改具体的配置项。这里就不多说了

编辑博客路径下_config.yml文件内容,文件里的各项该如何修改,请查看官方文档,特别是里面的deploy项,这里我放下我的部分配置供参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
title: CNWJY
subtitle: ''
description: ''
keywords:
author: Conan-jine
language: zh-CN
timezone: ''

url: http://ip # ip 换成自己服务器的公网ip

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: fluid

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repo: root@ip:/var/repo/blog.git # ip 换成自己服务器的公网ip
branch: master

hexo的命令很简单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看hexo命令
hexo help

# 清除生成的静态文件
hexo clean

# 生成静态文件
hexo generate

# 查看部署在本地的效果
hexo server

# 将博客上传到服务端,需要配置好_config.yml文件的deploy项和服务端
hexo deploy

生成本地公钥

本地公钥是用来连接服务器的,服务器需要知道本地的公钥才能允许本地进行连接,否则hexo deploy命令无法成功

1
2
3
4
5
# 生成公钥
ssh-keygen -t rsa -C "自己的邮箱"

# 查看本地的公钥
cat ~\.ssh\id_rsa.pub

服务端Linux(CentOS)配置

安装git和nginx

1
sudo apt install nginx git

git的作用是接收本地的博客,nginx的作用是将git接收的博客呈现给互联网用户

添加git用户并设置密钥

1
2
3
4
5
6
sudo adduser git
su git
cd
mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys

创建供Nginx发布的git仓库

1
2
3
4
sudo mkdir -p /var/repo    #新建目录,这是git仓库的位置
sudo mkdir -p /var/www/hexo
cd /var/repo #转到git仓库的文件夹
sudo git init --bare blog.git #创建一个名叫blog的仓库

使用git-hooks实现自动部署

1
sudo vim /var/repo/blog.git/hooks/post-update

post-update内容如下

1
2
#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f

给post-update授权

1
2
3
4
cd /var/repo/blog.git/hooks/
sudo chown -R git:git /var/repo/
sudo chown -R git:git /var/www/hexo
sudo chmod +x post-update #赋予其可执行权限

配置Nginx

1
2
cd /etc/nginx/conf.d/
vim blog.conf

blog.conf部分内容如下,ip 换成自己服务器的公网ip,空格隔开还可以添加域名

1
2
3
4
5
6
7
8
9
10
server {
listen 80;
listen [::]:80;
root /var/www/hexo;

server_name ip;
location / {
try_files $uri $uri/ =404;
}
}

成果测试

本地终端进入博客所在路径,执行以下命令

1
hexo g && hexo d

浏览器输入自己的服务器ip或者域名即可访问

因文章是在我自己配置成功后才写的,有些细节忘了,如果你按照本文章配置博客,过程中有错误,或者没有达到想要的效果,可通过上方关于页联系我,我将会补充到本文中去。

安装证书

使用Cerbot自动安装证书,这样就可以用https访问了,浏览器再也不会提示网站不安全啦


搭建自己的博客(二):配置部署
https://cnwjy.site/2021/12/18/搭建自己的博客-二-配置部署/
作者
Conan-jine
发布于
2021年12月18日
许可协议