将Hexo部署到云服务器(使用宝塔面板)

将Hexo部署到云服务器

本来Hexo是部署在GitHub上的(可以看我之前文章Hexo搭建静态博客 – Taitres' Blog包括了Hexo的基本使用),但是访问太慢了,并且想折腾一下,还想整个个人云盘,就买了个腾讯云的轻量应用服务器,把Hexo搬过来了,看了很多文章,记录下最终的解决方案。

思路是:

  • 在服务器上搭建Git环境,创建Git仓库
  • 在主机生成Hexo静态文件,通过与服务器连接,推到服务器上的Git仓库
  • 通过git-hooks实现自动部署到网站资源目录
  • Nginx做静态文件服务器,实现外界对网站资源目录的访问

显示如下即成功

然后在宝塔面板网站->添加站点,找到放置网站资源目录 www/wwwroot/taitres.cc

通过宝塔面板可以方便地修改Nginx的配置文件,在taitres.cc的设置中找到配置文件,应该是自动配好了的,没有就自己设置下,也可以使用其他端口

之前推hexo的静态文件都是推到GitHub的仓库,现在服务器也是一样,需要仓库来保存

在服务器端

这一步是为了建立主机与服务器连接,使其不需要密码也能登陆

复制公匙id_rsa.pub内容到服务器/home/git/.ssh/authorized_keys,关闭终端,使用ssh git@server重新登录服务器,测试是否能不要密码登录到git用户,如出现Permission denied的问题可尝试文章末尾的解决办法

找到 /home/git/repos/taiblog.git/hooks/post-update.sample 改名post-update,内容改为

然后给权限

修改本地Hexo博客文件夹中的_config.yml文件

也可以在package.json 中添加 npm 脚本,这样就可以直接npm run dd一下执行

然后访问自己的IP看看是否成功

解决办法:需要在powershell配置文件中添加以下内容:

  • 关于powershell配置文件的使用: 1.首先检查配置文件是否已经存在 2.打开powershell输入 Test-Path $procos.ap-chongqing如果返回false,则在C:\Users\admin\Documents\下创建一个WindowsPowerShell文件夹,然后执行

就创建了一个Microsoft.PowerShell_procos.ap-chongqing.ps1文件

解决方法:使用管理员权限运行 Power Shell,然后执行Set-Service -Name ssh-agent -StartupType automatic.

把 ssh-agent 的启动类型设置为自动方式,在任务管理器中查看,ssh-agent是否开启

解决方法:vi /etc/ssh/sshd_config 修改为PubkeyAuthentication yes(如果前面有#,就去掉#)

原文链接:https://cloud.tencent.com/developer/article/1823096

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享