将Hexo部署到自己的服务器上

之前写了一篇通过GitHub和Hexo搭建一个自己的博客,但是在国内很多时候访问GitHub速度会很慢,阅读博客的体验很不好,为了解决这个问题,我们可以将Hexo搭建到自己的服务器上,这样访问博客的速度就有了很大的提升!

第一部分:服务器端操作

1、安装git和nginx

yum install -y nginx git

2、添加一个git用户

useradd git
passwd git

# 给git用户配置sudo权限
chmod 740 /etc/sudoers
vim /etc/sudoers
# 找到root ALL=(ALL) ALL,在它下方加入一行
git ALL=(ALL) ALL

chmod 400 /etc/sudoers

3、给git用户添加ssh密钥

su - git
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys    #将ssh密钥粘贴进去

4、创建git仓库并使用git-hooks实现自动部署

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

post-update的内如如下:

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

给post-update授权

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  #赋予其可执行权限

5、配置Nginx

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

blog.conf的内如如下:

server {
    listen    80 default_server;
    listen    [::] default_server;
    server_name    blog.59devops.com;
    root    /var/www/hexo
}

检查Nginx语法并重载nginx:

6、修改git用户的默认shell环境

vim /etc/passwd
#修改最后一行
#将/bin/bash修改为/usr/bin/git-shell

7、解析域名

到你购买域名的供应商控制台,将域名解析到你的服务器即可。

第二部分:本地配置(Mac)

1、安装git

xcode-select --install

git --version
git version 2.21.1 (Apple Git-122.3)

2、安装 Node.js 和 Npm

下载对应安装包安装或者通过homebrew安装皆可。

3、安装 Hexo 及相关插件

sudo npm install hexo-cli hexo-server hexo-deployer-git -g

4、本地初始化博客站点

hexo init ~/blog
npm install hexo-deployer-git --save

5、本地Hexo配置

# 修改Hexo的deploy配置
cd blog
vim _config.yml

# 找到deploy配置部分
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: root@xxx.xx.xxx.xxx:/var/repo/blog.git # IP填写自己服务器的IP即可
  branch: master

6、将本地Hexo代码部署到服务器

# 清除缓存
hexo clean

# 生成静态页面
hexo generate

# 将本地静态页面目录部署到云服务器
hexo delopy

7、测试访问

8、配置域名ssl证书

这个笔记是在自己部署成功之后写的,关于ssl部署,我采用的是certbot自动签署ssl证书的,这个非常方便。

9、其他

至于怎么使用Hexo以及Hexo的配置优化之类的可以参考:通过GitHub和Hexo搭建一个自己的博客

posted @ 2020-08-06 14:07  StaryJie  阅读(8422)  评论(15编辑  收藏  举报