type
Post
status
Published
date
Dec 9, 2023
slug
summary
之前一直把 Hexo 博客托管在 github page 上,但是最近发现 github page 的打开速度越来越慢,有时候不翻墙甚至打不开,严重影响我写博客的心情,所以考虑把 Hexo 博客部署到个人服务器上,可以提高访问速度。
tags
Hexo
建站
category
常用工具
password
之前一直把 Hexo 博客托管在 github page 上,但是最近发现 github page 的打开速度越来越慢,有时候不翻墙甚至打不开,严重影响我写博客的心情,所以考虑把 Hexo 博客部署到个人服务器上,可以提高访问速度。

前期准备

  • 本地已经安装好 Hexo 环境
  • 一台云服务器
  • 一个注册域名(可跳过)
基本思路:
  1. 在服务器上安装 nginx 和 git ,用 nginx 来托管 Hexo 静态文件,用 git 搭建个人仓库用于存储本地提交,git 仓库和 nginx 托管目录使用钩子关联,保证每次本地 git 提交后都能更新 nginx 托管目录。
  1. 本地设置 Hexo 的部署目录为服务器的个人仓库地址,保证每次部署的时候都能自动 git 提交
  1. 设置域名解析指向服务器
最终达到的效果:本地编辑文章完成后,使用一个部署命令即可更新服务器资源,使用域名访问可以实时看到更新后的资源。

服务器配置

安装配置nginx

1、安装

yum 安装的 nginx 默认安装目录为 /etc/nginx,nginx 全局配置文件路径为 /etc/nginx/nginx.conf
如果安装失败可以尝试加上 sudo 命令

2、检查nginx是否安装成功

显示nginx版本号例如 nginx version: nginx/1.16.1 表示安装成功

3、修改nginx配置

修改内容如下
存后我们可以使用下面命令检查配置有没问题
输出以下内容表示配置没问题,如果有错误会打印详细信息

4、启动

启动nginx
1
systemctl start nginx.service
下面为nginx相关命令,如果你的系统版本是 centos 7 以上,可以使用 Systemd 相关命令进行操作
如果系统是旧版本,可以使用 SysVinit 相关命令进行操作

安装配置git

1、安装

2、查看是否安装成功

3、创建git用户,用来运行git服务

创建系统用户git
设置密码
切换到 git 用户,这步很重要
创建 hexo 静态文件存放目录,对应上面 nginx 的 root 目录
注意这一步如果显示没有权限创建目录,可以以 root 用户执行 chmod 777 /data
创建 git 私人仓库目录
在私人仓库下创建一个裸露仓库
创建 git 钩子,把裸露仓库和 hexo 静态文件存放目录关联起来
添加以下内容,其中 /data/hexo 为 hexo 静态文件存放目录,/data/repo/blog.git 为裸露仓库
保存后添加权限
测试 git 仓库是否可用,在本地执行
如果能把空仓库拉下来说明 git 仓库搭建成功了,注意这时候执行这个命令需要输入密码的

4、设置 git 仓库安全控制

找到本地创建的 id_rsa.pub 文件
本地电脑和 git 仓库建立 ssh 联系
测试能否登陆,注意这个时候登陆是不需要密码的,再执行 git clone 命令也不需要密码,否则就有问题。
为了安全起见禁用 git 用户的 shell 登录权限,从而只能用 git clone,git push 等登录
修改 /etc/passwd 中的权限

本地配置

配置_config.yml文件

进入 hexo 安装目录
设置 deploy 属性

配置package.json文件

这样我们可以快速本地启动
本地调试
部署到远程服务器
至此我们的本地环境和服务器环境已经搭建完毕。

域名配置

如果你有个人域名,可以设置个人域名指向你的服务器ip
以阿里云域名为例,登陆域名控制台,域名列表——操作——解析——添加记录
notion image
可以添加 www@ 两条主机记录,这样可以同时支持 www.domain.cn 和 domain.cn 两种访问方式。
notion image
保存 10 分钟后即生效。

参考

Hexo升级版本Hexo博客SEO优化
Loading...