0.本站的部署方式也是基于下方教程搭建的,后面会在个人写出完整技术栈

1.环境的准备(准备部分)

本地需要安装 GitNodejs需要有自己的云服务器,

本人使用的是系统为CentOS 7.2,域名暂时没有也可以。

接下来是GitNodejs的安装。

参考这里要是已经安装完成软件,并且已经部署了本地博客,可以参考服务器部署部分。

2.安装Git

Git点击下载安装即可。具体更细节的可以参考这里。

Git的安装与基本配置——Git的学习与使用(二)(敬请期待)

3.安装Nodejs

这里推荐安装nvs,nvs地址。

因为有时候需要安装切换版本,同时这样子安装比较简单,亲测!!!

使用命令行(CMD)来安装(管理员模式)

1
choco install nvs

使用nvs help查看指令。

完成后准备就可以完成了,然后开始进行Hexo的部署,有问题记得先重启电脑一次试试。

4.本地Hexo的部署(建站部分)

Hexo官网有相关的教程,可以参考。

先新建一个文件夹Hexo_next,然后进去建立的文件夹,输入

1
hexo init

下载主题next,有很多,可以自己选择,博主使用的是butterfly。这里使用next来进行演示。

进入Hexo_next\themes输入

1
git clone https://github.com/iissnan/hexo-theme-next.git

下载该项目,有错误不要担心,多试几次,或者使用加速。

将下载的文件名称改为next

打开配置文件_config.yml,在100行左右,将主题修改为next

对应目录下,打开在git bash输入

1
npm i hexo-renderer-swig

然后输入

1
hexo c && hexo g && hexo s

打开浏览器,输入如下,就可以看到

1
http://localhost:4000/

至此本地部署已经完成,后续的改动可以参考其他博文,后续开始进行服务器端的部署。

5.服务器端部署

安装Git

打开服务器控制面板,修改root密码一定需要修改!!!!!,选择登录。

输入

1
sudo su root

然后安装Git

1
yum install git

创建git账户

1
2
3
adduser git
chmod 740 /etc/sudoers
vim /etc/sudoers

添加git ALL=(ALL) ALL改回权限

1
chmod 400 /etc/sudoers

设置git账户密码

1
sudo passwd git

设置的密码看不到,你直接输入就可以了。这里我设置的密码太简单了会有这样的提示。不用关心直接输入,看到成功提示即可。

切换至git用户,创建~/.ssh文件夹和~/.ssh/authorized_keys文件,并赋予相应的权限,输入vim ~/.ssh/authorized_keys以后先往下走,这里先放一边,我们先去创建密钥,回头粘贴在里面

先切换成git(如下图)

1
2
3
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

常用命令

1
2
3
git config -l  //查看所有配置
git config --system --list //查看系统配置
git config --global --list //查看用户(全局)配置
1
2
3
Git CMD 是windows 命令行的指令风格
Git Bash 是linux系统的指令风格(建议使用)
Git GUI是图形化界面(新手学习不建议使用)

然后右键桌面打开git bash配置用户名和邮箱

1
2
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

通过git config -l检查是否配置成功,至此git安装及配置全部完成。

执行以下命令生成ssh公钥,此公钥用于你的计算机连接你的轻量云服务器

1
ssh-keygen -t rsa -C "你的邮箱"

之后打开C盘下用户文件夹下的.ssh的文件夹,会看到 id_rsa.pub

用记事本打开上述图片中的公钥(id_rsa.pub),复制里面的内容,然后粘贴在5.1.8中打开的界面

如果无法粘贴,Shift+i 进入编辑模式即可,然后Ctrl+V粘贴进入即可,然后按ESC,在Shift+;,输入wq`,保存退出,不懂的可以百度一下vim编辑器的用法即可

赋予权限

1
2
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh

这样就可以尝试在你的本地登录了,SERVER是你的云主机IP

1
ssh -v git@SERVER

出现这个问题(如下图,第一个箭头),删除known_hosts文件,可能是之前生成过,输入然后输入会让你输入密码,就是你的git用户密码。输入你设置的git密码即可,然后可以看到你的命令行为如下形式

说明已经连接成功了(上图第二个箭头)

6.配置仓库与相关配置

返回服务端命令行切换到 root 账户

1
sudo su root

然后输入,赋予权限

1
2
3
mkdir /var/repo
chmod -R 755 /var/repo
chown -R git:git /var/repo/

创建一个新的库:

1
2
cd /var/repo
git init --bare hexo.git

创建一个新的 Git 钩子,用于自动部署。在/var/repo/hexo.git下,有一个自动生成的hooks文件夹。我们需要在里边新建一个新的钩子文件 post-receive

1
vim /var/repo/hexo.git/hooks/post-receive

进入编辑模式,然后将下面那两行代码粘贴进去,保存退出。

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

新建一个文件用做网站的根目录,记得给权限。

1
2
3
mkdir /www/wwwroot/hexo
chmod -R 755 /www/wwwroot/hexo
chown -R git:git /www/wwwroot/hexo

7.Nginx

我们使用宝塔面板来一键部署Nginx关键是简单(如果已经安装,请直接跳到7.4

1
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

其中可能让你输入y/n。输入y确认即可,然后等等安装,安装结束如下

打开防火墙

复制上述地址即可。用户名与密码也有在用户面板中。

打开软件商店输入Nginx,选择免费的安装。等待安装结束。

部署完成之后,点击网站,添加站点,填写你的域名(加上3w),没有的话写你的服务器ip地址。根目录选我们之前建立的/www/wwwroot/hexo

回到服务器终端,重启宝塔服务

1
service bt restart

8.部署

接下来需要将本地的生成好的/public推送到服务器。进入本地电脑hexo博客的根目录,编辑站点配置文件_config.yml,找到deploy,修改成以下(修改repo: git@127.0.0.1:/var/repo/hexo.git,把127.0.0.1修改成你服务器的IP

1
2
3
4
5
deploy:
type: git
#repo改为repo: git@IP:/var/repo/hexo.git
repo: git@127.0.0.1:/var/repo/hexo.git
branch: master

然后使用

1
2
npm i  hexo-deployer-git  -- save
hexo clean && hexo g && hexo d

要输入密码的时候就输入即可,然后打开IP查看

9.🍕🍕🍕写在最后

有啥教程想看的可以在评论区留言,如果搭建或者魔改过程中遇到不懂的可以下方留言评论或加下面的群讨论