type
status
date
slug
summary
tags
category
icon
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优化
mcbilla
mcbilla
一个普通的干饭人🍚
Announcement
type
status
date
slug
summary
tags
category
icon
password
🎉欢迎来到飙戈的博客🎉
-- 感谢您的支持 ---
👏欢迎学习交流👏