将Hexo博客同步部署到阿里云服务器

将Hexo博客同步部署到阿里云服务器

[TOC]

前两天闲来无事,买了个阿里云服务器玩玩,恰好发现此前放在github.io的博客网站经常被限流,日常登不上。于是就打算把现有内容迁移到服务器上,中间碰到的小坑记录一下。

服务器端设置

安装git与nginx

首先需要安装git以及nginx,因为阿里云服务器是CentOS,所以使用yum安装。

sudo yum install git
sudo yum install nginx

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

cd /root
sudo git init --bare blogit.git    #创建一个叫blogit的仓库
sudo vim /root/blogit.git/hooks/post-receive

请注意,hooks目录内部没有post-receive,需要我们vim创建并保存,之后在post-receive增加下面两行,表明在/root/blogit.git/opt/hexo执行checkout -f命令,当我们把博客写好后更新,服务器端可以同步部署。

#!/bin/sh
git --work-tree=/opt/hexo --git-dir=/root/blogit.git checkout -f

保存,给权限。

chmod +x /root/blogit.git/hooks/post-receive

修改nginx默认打开界面

找到nginx配置文件,地址在/etc/nginx/nginx.conf

sudo vim /etc/nginx/nginx.conf

注意root这个地方改为hexo博客所在路径,与上面的git-hooks一致。

重新载入nginx,使配置生效。

/bin/systemctl reload nginx.service

阿里云服务器更改配置

阿里云默认关闭了HTTP与HTTPS的公网访问,需要更改防火墙,进入云服务器的控制台的安全组,并点击实例。

{% asset_img image-20210525231316344.png 安全组 %}

需要访问规则做如下更改。

{% asset_img image-20210525231140578.png 访问规则 %}

本地设置

打开Hexo博客根目录下的_config.yml,将deploy下面修改为:

deploy:
- type: git
  repo: https://github.com/lxy-94/lxy-94.github.io.git
  branch: master
- type: git
  repo: root@服务器公网ip:/root/blogit.git
  branch: master

本地执行以下命令

hexo clean
hexo g
hexo d

下次更新后直接hexo d就可以同步到github与阿里云服务器。

哈哈,个人博客地址:我在云端跳舞,欢迎访问。

参考链接

从github迁移hexo博客到服务器

通过Git将Hexo博客部署到服务器


   转载规则


《将Hexo博客同步部署到阿里云服务器》 Severus 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Canny、Sobel、Laplace区别 Canny、Sobel、Laplace区别
Canny、Sobel、Laplace区别边缘其实就是图像上灰度级变化很快的点的集合。 如何计算出这些变化率很快的点? 1.导数,连续函数上某点斜率,导数越大表示变化率越大,变化率越大的地方就越是“边缘”,但是在计算机中不常用,因为在斜率9
2021-06-20 Severus
下一篇 
复杂度分析为什么需要复杂度分析如果单纯的把代码跑一边,通过统计、监控的方式得到算法执行的时间和占用的内存大小,这种方法通常叫做事后统计法。事后统计法的局限性在于 测试结果非常依赖测试环境; 测试结果受数据规模的影响很大; 我们需要一个不
2021-03-08 Severus
  目录