Hexo部署在腾讯云

Hexo部署在腾讯云
玵玖部署环境与准备
1.环境
本地Window11操作系统
腾讯云OpenCloudOS 9操作系统
2.Hexo本地博客
电脑通过SSH密钥连接到你的服务器
配置SSH密钥
为了使本地可以跟远程的github建立联系,需要在本地配置SSH密钥,这样我们就可以在本地直接提交代码到GitHub上或者远端git仓库。
如果你是第一次配置SSH,则配置一下git的username 和 email
1 | git config --global user.name "你要设置的名字" |
然后生成SSH密钥:
1 | ssh-keygen -t rsa -C "你刚刚设置的邮箱" |
然后提示要求设置密码,设置了密码的话之后每次部署都需要输入密码,如果不想设置密码的话,连续三个回车就好了。在这之后会得到两个文件: id_rsa 和 id_rsa.pub
找到id_rsa.pub文件,选择用记事本打开,复制其内容。路径: C:\Users\gt(你的用户名)/.ssh
云服务器部署
1、git配置
1、安装git(git –version可查看版本,若已下载可忽略该步)
在服务器的终端页面依次输入,然后回车
1 | sudo su root |
等待一下就安装好了,中途会出现
1 | Is this ok [y/d/N]: |
输入:y 然后回车即可
此时git已经安装成功
2、创建git账号
1 | adduser git |
3、添加git账号权限(OpenCloudOS 9操作系统用户不在这里添加权限,可跳过)
1 | chmod 740 /etc/sudoers |
输入上面的命令,回车之后,进入编辑界面。
这里要先点击 “i” 键,进入编辑模式,然后找到以下内容的地方:
1 | ## Allow root to run any commands anywhere |
添加以下内容
1 | git ALL=(ALL) ALL |
然后按 “Esc” 键,此时最底下的—INSERT—消失,再输入 “:wq”,即保存退出。
改回权限
1 | chmod 400 /etc/sudoers |
4、设置git账户密码
1 | sudo passwd git |
输入两次密码就设置成功了。注意,linux下输入密码是不显示的,你直接输入,输完回车就行了。
5、切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限
1 | su git |
按”i”进入编辑模式,将我们在win10中生成的id_rsa.pub文件中的公钥复制到authorized_keys中,按”esc”,然后按”:wq”,保存退出。
接着,输入以下命令,赋予权限
1 | chmod 600 /home/git/.ssh/authorized_keys |
在本地Git终端中测试是否能登录git,其中SERVER为填写自己的云主机IP,执行输入yes后输入你之前配置的git密码,无报错就说明好了。
在电脑本地桌面,右键”Git Bash Here”,输入以下命令,其中SERVER填写自己的云主机ip,执行输入yes后说明配置成功了。
1 | ssh -v git@SERVER |
如果你之前配置过git,可能你会出现以下这种错误。
1 | Offending ECDSA key in /c/Users/jonty/.ssh/known_hosts:5 |
是.ssh/known_hosts 这个文件第五行出现冲突了。只要用记事本打开,将这个文件的第五行删掉即可。
重新执行刚刚的命令
1 | ssh -v git@你的服务器ip |
2、创建git仓库
1、创建目录
在根目录下创建一个文件夹作为Git仓库目录 例如/blog/repo
1 | su root |
2.赋予权限
1 | chown -R git:git /blog/repo |
3.接下来创建hexo目录作为网站根目录,并赋予权限:
1 | mkdir /blog/hexo |
4.创建git仓库
1 | cd /blog/repo |
5.创建一个新的 Git 钩子,用于自动部署.
在 /blog/repo/hexo.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。
1 | vim /blog/repo/hexo.git/hooks/post-receive |
6.按i
进入编辑模式,然后将下面那两行代码粘贴进去,按esc
,然后输入:wq
,保存退出。
1 |
|
7.修改权限
1 | chown -R git:git /blog/repo/hexo.git/hooks/post-receive |
云服务器网站配置
1.在宝塔面板,点击左栏的网站,添加站点,填写你的域名,没有的话写你的服务器ip地址。其他的不要改。填写完之后提交,然后点击”设置”
点击配置文件
1 | server |
保存,然后选择“设置”-“网站目录”,将网站目录修改成/blog/hexo
,保存。
回到服务器终端,重启宝塔服务,使之生效。
2.进入本地电脑hexo博客的根目录,编辑站点配置文件 _config.yml,找到deploy,修改成以下
1 | deploy: |
最后在本地电脑hexo博客的根目录右击,Git Bash Here,输入以下命令部署
1 | hexo cl |
这时候可能出现权限问题,导致部署到git失败。
在服务器终端输入以下命令再次赋予权限即可:
1 | chown -R git:git /blog/repo/ |
最后再hexo d -g部署,应该就可以看到部署成功了。
自此,已经将博客从本地部署到腾讯云服务器了。