搭建自己的Hexo博客并部署在自己的服务器上(重温)

三年前写过一篇,但是不够详细,恰逢清明假期,又因疫情封校,刚好租了一年的服务器,在时间条件和硬件条件同时满足的前提下,抽出时间来重温一遍部署过程。

1.服务器端操作

1.1 创建博客页面目录

hexo博客属于静态页面,我们要设置一个特定的目录用于存放博客页面。

mkdir -p www/blog

创建好之后我们的博客文件都会放到blog文件夹下

1.2 配置git仓库

本地的hexo博客需要通过git来更新到我们的服务器中,所以我们要在服务器上创建一个git仓库,并且配置hook更新到服务器上存放博客页面的文件中。

mkdir blog
cd blog
git init --bare

创建好仓库之后我们需要配置hooks

vim ~/blog/hooks/post-receive

输入内容为

git  --work-tree=/home/mts/www/blog -git-dir=/home/mts/blog checkout -f

保存后添加可执行权限

chmod +x ~/blog/hooks/post-receive

(补充:配置完之后需要将本机的ssh公钥放在服务器上才可以使用git直接进行更新)

1.3 安装nginx

sudo apt install nginx

1.4 配置nginx

nginx可以用来反向代理,可以使用nginx来访问我们的博客文件

sudo vim /etc/nginx/sites-available/default 

将文件中root后面改为/home/mts/www/blog
重启nginx

sudo service nginx restart

2配置本地hexo博客

2.1 本地安装博客

此处省略一万字,可以参考之前发的那篇

2.2 远程部署

首先需要修改_config.yml文件,修改deploy字段

url: http://dandeseed.cn
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
deploy:
  type: git
  repo: mts@dandeseed.cn:www/blog
  branch: master

之后在本地博客文件下面远程部署

hexo clean
hexo g  # generate
hexo d  # deploy

部署会出现的问题:
TypeError [ERR_INVALID_ARG_TYPE]: The “mode” argument must be integer. Received an instance of Object

这是因为hexo版本低,nodejs版本高导致。去官网https://nodejs.org/zh-cn/download/下载12.14.0即可

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值