type
status
date
slug
summary
tags
category
icon
password
之前一直把 Hexo 博客托管在 github page 上,但是最近发现 github page 的打开速度越来越慢,有时候不翻墙甚至打不开,严重影响我写博客的心情,所以考虑把 Hexo 博客部署到个人服务器上,可以提高访问速度。
前期准备
- 本地已经安装好 Hexo 环境
- 一台云服务器
- 一个注册域名(可跳过)
基本思路:
- 在服务器上安装 nginx 和 git ,用 nginx 来托管 Hexo 静态文件,用 git 搭建个人仓库用于存储本地提交,git 仓库和 nginx 托管目录使用钩子关联,保证每次本地 git 提交后都能更新 nginx 托管目录。
- 本地设置 Hexo 的部署目录为服务器的个人仓库地址,保证每次部署的时候都能自动 git 提交
- 设置域名解析指向服务器
最终达到的效果:本地编辑文章完成后,使用一个部署命令即可更新服务器资源,使用域名访问可以实时看到更新后的资源。
服务器配置
安装配置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
以阿里云域名为例,登陆域名控制台,域名列表——操作——解析——添加记录
保存 10 分钟后即生效。
参考
- Author:mcbilla
- URL:http://mcbilla.com/article/8c1c2a90-3195-4e36-8b77-e9448172550d
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!