由于当时刚学习hexo博客,刚好618活动头脑一热就买了10年的域名和一个一年的云服务器练手。但是后面可能是备案麻烦还要等就不用京东云改用vercel,当时是按照教程成功部署博客到京东云上去的且安装了宝塔面板,现在又忘了,京东云的教程太少了,固重新记录下部署的教程以便后续使用(怕博主删了,就是因为之前详细的教程博客删了才赶紧记录备份😂)。

参考教程


Git和Node的安装与配置

这部分是部署前的操作比较熟悉

Git安装

下载并安装Git, 安装完成打开在桌面cmd执行:

1
git -v

显示版本号即安装成功

Git配置环境

新建一个博客目录:

1
2
git config --global user.name example
git config --global user.email example@example.cn

查看配置信息

1
cat ~/.gitconfig

Git 首次安装必须设置一下用户签名,否则无法提交代码
这里设置用户签名和登录 GitHub(或其他代码托管中心)的账号没有任何关系。
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁进行的!

初始化本地仓库:

1
git init

安装Node.js

下载并安装NodeJS(选择.msi下载即可)Node.js

安装Hexo

按照Hexo官网指引即可:快速、简洁且高效的博客框架Hexo

配置SSH秘钥

配置SSH密钥,实现免密登录(在后面首次提交时需要验证一次服务器密码)

1
ssh-keygen -t rsa -C "上面配置的git邮箱地址"

连续敲回车确定,然后看到提示秘钥以保存在.ssh路径下(如果没有出现提示就多敲几次回车)。
在提示的路径下找到id_rsa文件,复制文件内容,下面配置Git时会用到。
到这里本地部署完成。


部署到京东云服务器

之后的操作涉及到Linux 指令,当时也是一阵迷糊地跟着教程完成的。

安装Finalshell

如果是刚买的服务器,先在服务器后台重置密码。然后在PC端安装FinalShell

远程登录服务器终端

采用上述安装的FinalShell远程登录服务器终端,输入如下指令切换到root用户。

1
sudo su root

云服务器安装Git

1
yum install git

云服务器配置Git

创建git账户,并修改权限

1
adduser git
1
chmod 740 /etc/sudoers

云服务器修改配置

安装一下vim编辑器

1
yum -y install vim*

然后修改配置

1
vim /etc/sudoers

点击键盘“i”建进入编辑模式,然后通过方向键编辑。

找到root ALL=(ALL) ALL在其下方以相同格式添加git ALL=(ALL) ALL。

1
2
root    ALL=(ALL)       ALL
git ALL=(ALL) ALL

点击Esc后输入:wq,保存退出。

改回权限:

1
chmod 400 /etc/sudoers

设置git密码

1
sudo passwd git

密码输入过程中不会显示,输完后直接回车即可,输入两次(密码需要包含大写加小写字母加数字)。

配置SSH秘钥(把本地配置的秘钥复制到服务器)

切换为git用户,配置SSH:

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

点击键盘“i”建进入编辑模式,然后通过方向键编辑。

将本地生成的id_rsa.pub文件公钥复制进去(需要注意的是,如果之前配置过SSH,建议将同路径下的known_hosts文件删除,否则可能会报错,报错解决方法看后记),

点击Esc后输入:wq保存退出

赋予权限

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

本地测试配置是否成功

本地PC端使用Git测试是否配置成功,桌面右键“Open Git Bash Here”

1
ssh -v git@你的京东云服务器ip

服务器ip为你的服务器公网ip。

执行过程中出现选择,一律选择yes。

如果执行过程中不需要输入密码且无报错,即为配置成功。

Git仓库配置

使用root用户:

1
sudo su root

为hexo博客创建一个目录,赋予所有权限并设置所有者为git:

1
2
3
4
5
mkdir /home/hexo

chown -R git:git /home/hexo

chmod -R 755 /home/hexo

创建git仓库:

1
2
3
4
5
mkdir /home/repo

cd /home/repo

git init --bare hexo.git

创建Git钩子:

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

点击键盘“i”建进入编辑模式,然后通过方向键编辑,将以下代码复制进去:

1
git --work-tree=/home/hexo --git-dir=/home/repo/hexo.git checkout -f

点击Esc后输入:wq保存退出。

修改权限

1
2
3
chown -R git:git /home/repo/hexo.git/hooks/post-receive

chmod +x /home/repo/hexo.git/hooks/post-receive

修改git仓库的所有者为git

1
chown -R git:git /home/repo


安装宝塔面板

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

安装过程中出现选择一律输入y(yes)。

安装完成后根据给出的地址(外网ip)及账号密码,登录宝塔。

如果忘记宝塔账号密码可以输入bt按提示更改密码。

进入宝塔面板后,按照提示安装Nginx。

ps:
因为咱们是静态博客所以只安装Nginx。

添加站点
宝塔面板点击网站,选择添加站点,输入域名,根目录设为/home/hexo,php版本选择纯静态。

接下来就是重头戏了,咱们输入命令让他上传到服务器!


Windows端博客目录下安装部署插件

1
npm install hexo-deployer-git --save

然后,将本地仓库与远程仓库关联(windows不用$吧?):

1
git remote add origin git@你的服务器IP:/home/repo/hexo.git

修改Hexo配置文件_config.yml的推送地址:

1
2
3
deploy:
type: git
repo: git@你的ip地址:/home/repo/hexo.git

修改完成保存。

执行命令:

1
2
3
hexo cl
hexo g
hexo d

打开服务器ip可以看到已经成功部署了!