前置条件:
- 一台云服务器(已占用 127.0.0.1:3000 端口部署了网易云后端,并且反向代理到了服务器的 3000 端口)
- 在 GitHub 上面已经部署了 hexo 博客
配置连接
本地博客仓库和GitHub以及服务器仓库的连接
【Hexo博客】部署到腾讯云轻量应用服务器(使用宝塔面板) | 百里飞洋 (meta-code.top)
- 遇到的 bug:
# 在本地电脑 Bash 窗口 ssh -v git@SERVER # 注意!别直接复制SERVER这个单词!@后面替换成服务器IP
这一步,发现无法使用密钥连接到服务器
解决:
本地的git连接Github配置了代理,把代理软件关闭就可以连接了
# Deployment(部署) ## Docs: https://hexo.io/docs/one-command-deployment deploy: type: git repo: git@你的服务器IP地址:/home/git/repos/hexoBlog.git #服务器仓库地址 branch: master
这一步中,由于,我有多个仓库,查阅hexo文档后,将此处配置成这样子
# Deployment(部署) ## Docs: https://hexo.io/docs/one-command-deployment deploy: -type: git repo: https://xxxxx.git #GitHub仓库地址 branch: master deploy: -type: git repo: git@你的服务器IP地址:/home/git/repos/hexoBlog.git #服务器仓库地址 branch: master
但是问题来了,我的GitHub是需要代理的,服务器的就不需要。
在不使用代理的时候,有一个github登录框弹出,直接点密码登录,就可以直接上传了,但是GitHub仓库的上传不成功
后改为使用代理上传,就上传成功了
部署网站
一般来说,资源文件上传好了,直接在宝塔的网站处点击部署,引到文件夹就可以了,但是我的老是不成功。
解决历程
- 查阅博客后,猜测是 Nginx 的问题,尝试在宝塔重启 Nginx ,发现重启失败,报端口占用的错误(3000)端口
- 尝试kill掉占用3000端口的进程,是node占用,无法杀掉。是PM2管理器一直开启占用3000端口
- 多次尝试之后解决顺序是:在网站处删除(一定要删除)网易云后端的网站项目 -> 重启 Nginx -> 重新映射网易云后端的项目
- 再次查看是否能访问博客,发现还是不行。尝试重新解析域名,发现就可以了,腾讯云的解析也有些bug。
问题本质:
Nginx 无法正常运行
Nginx更改
部署后更改同端口的域名,nginx无法立即修改,需要重启nginx才可以完成修改,本地浏览器也需要刷新看到效果。发现添加域名后无法立即显示,重启nginx就可以解决。