个人博客搭建指南(Hexo+Git远程部署)

0rb1t Lv2

准备阶段

1.准备一台云服务器。

2.购买一个域名,并备案。

3.本地下载安装nodejs,然后安装hexo部分软件包。

云服务器配置

创建网站目录

1
2
mkdir /home/www/blog
chmod 777 /home/blog

安装web服务

可以使用nginx或者apache。

我们这里直接使用宝塔来一键部署web服务。

先安装宝塔

1
2
wget -O install.sh https://download.bt.cn/install/install_6.0.sh
sh ./install.sh

然后根据提供的网址和账号密码进入宝塔管理页面,并在网站一栏设置网站目录。

1

安装git

1
yum install git

设置一个git用户

1
adduser git

修改git用户sudoer权限

1
2
3
4
5
6
7
8
chmod 740 /etc/sudoers
vim /etc/sudoers
---------------------------
root ALL=(ALL:ALL) ALL
#下面添加
git ALL=(ALL:ALL) ALL
---------------------------
chmod 440 /etc/sudoers

修改git用户密码

1
passwd git

切换为git用户并配置ssh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
su git
cd ~
mkdir .ssh
cd .ssh
#生成ssh密钥,全按回车即可。
ssh-keygen
#将生成的公钥复制到认证文件
cp ida_rsa.pub authorized_keys
#修改权限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
#在本地运行ssh-keygen -t rsa,也都按回车即可。
#将本地C:/Users/username/.ssh/id_rsa.pub内容复制出来
vim ~/.ssh/authorized_keys
---------------------------
ssh-rsa xxxxxxxxxxxxxxxxxxx
#把复制的内容放在下面
ssh-rsa *******************
---------------------------
#此时本地执行ssh -v git@云服务器的公网IP,能直接无密码连接就算成功。

搭建git仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#此时仍然是git用户身份。
cd ~
#初始化创建一个git仓库,并将所有者设置为git
git init --bare blog.git
chown -R git:git blog.git
#修改仓库下的hook文件,用来将仓库默认工作路径修改为网站目录。
#此hook会在每次修改仓库时执行,如果本地hexo没有修改内容,即使再次部署也不会触发hook。
vim ~/blog.git/hooks/post_receive
-----------------------------------------------------------------------
#添加如下代码,其中work-tree为网站路径。
git --work-tree=/home/www/blog --git-dir=/home/git/blog.git checkout -f
-----------------------------------------------------------------------
#要赋予其执行权限。
chmod +x ~/blog.git/hooks/post-receive

本地配置

去官网下载安装nodejs

https://nodejs.org/zh-cn

安装好后打开命令行执行命令安装工具

1
2
3
4
5
6
7
8
9
#设置registry
npm config set registry https://registry.npmmirror.com
#安装cnpm
npm install -g cnpm
#安装hexo-cli及hexo-server
cnpm install -g hexo-cli
cnpm install hexo-server
#安装hexo的git部署工具
cnpm install hexo-deployer-git --save

本地hexo部署

1
2
3
4
5
6
7
8
#创建blog文件夹
mkdir blog
cd blog
#初始化blog
hexo init
#生成静态文件并开启本地服务器
hexo g && hexo s
#之后访问本地端口4000就可以访问本地blog了。

hexo主题设置

1
2
3
4
5
6
#先寻找喜欢的主题,我们这里使用redefine主题。
npm install hexo-theme-redefine
hexo config theme redefine
#然后可以在nodejs安装目录下的node_modules文件夹下看到hexo-theme-redefine文件夹
#将该文件夹下的_config.yml复制到blog文件夹下的_config.redefine.yml
cp nodejs/node_modules/hexo-theme-redefine/_config.yml blog/_config.redefine.yml

hexo的git部署设置

修改blog文件夹下的_config.yml文件,在其末尾的deploy进行如下修改

1
2
3
4
deploy:
type: git
repo: git@云服务器公网ip:/home/git/blog.git
branch: master

最终执行以下命令即可将本地hexo部署到服务器git仓库。

1
hexo g -d
  • Title: 个人博客搭建指南(Hexo+Git远程部署)
  • Author: 0rb1t
  • Created at : 2024-08-03 12:47:54
  • Updated at : 2024-08-05 21:40:53
  • Link: https://redefine.ohevan.com/2024/08/03/个人博客搭建指南-Hexo-Git远程部署/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
个人博客搭建指南(Hexo+Git远程部署)