部署Hexo博客到京东云服务器
由于当时刚学习hexo博客,刚好618活动头脑一热就买了10年的域名和一个一年的云服务器练手。但是后面可能是备案麻烦还要等就不用京东云改用vercel,当时是按照教程成功部署博客到京东云上去的且安装了宝塔面板,现在又忘了,京东云的教程太少了,固重新记录下部署的教程以便后续使用(怕博主删了,就是因为之前详细的教程博客删了才赶紧记录备份😂)。
参考教程
Git和Node的安装与配置
这部分是部署前的操作比较熟悉
Git安装
下载并安装Git, 安装完成打开在桌面cmd执行:
1 | git -v |
显示版本号即安装成功
Git配置环境
新建一个博客目录:
1 | git config --global user.name example |
查看配置信息
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 | root 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 | mkdir /home/hexo |
创建git仓库:
1 | mkdir /home/repo |
创建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 | chown -R git:git /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 | deploy: |
修改完成保存。
执行命令:
1 | hexo cl |
打开服务器ip可以看到已经成功部署了!