原因
之前的博客是用umi来编写的,快速开发,但是是客户端渲染,首屏加载比较慢,不利于seo等,于是我便瞄准了next.js。这是一个react的ssr框架,是一个seo比较好的框架,非常适合静态网站以及博客。
部署node项目
next.js是一个node项目,部署来说相对于umi等项目还是比较麻烦,之前尝试很多次部署在腾讯云,试了很多次都出现各种各样的问题,一度放弃了很多次。最终在最近,鼓起勇气再次冲击next.js项目,尝试了多次部署,终于成功。但是每次都需要自己手动部署,还是比较麻烦,在这次的周末,我便用上午的时光来学习cicd自动化部署。
自动化部署
为了学习自动化部署node项目,先是学习基础的自动化部署到git pages,然后再尝试使用开源的git actions部署到服务器中去,其中也是踩坑无数,然后到了部署node项目这块又是各种踩坑,因为需要在服务器上进行一些pull build等操作。弄了无数次,逐渐有了一些成果。星期天晚上兴奋到搞到一点钟,简直是快乐的睡不着觉。
踩坑node项目自启
到了最关键的一步,build以后需要去重新启动node项目,因为我用的是宝塔 所以最开始为了方便,我都是直接添加的node项目,然后想去通过node restart 项目,但是一直失败,后面有去改pm2命令 但是也一直有问题 显示pm2里面没这个项目,我一度感觉宝塔里面的node项目不是真的用的pm2.。虽然他显示可以用pm2启动项目,我查看日志,也是显示的pm2启动项目成功,但是我去pm2 restart项目,一直没用。真的是气死我了。最后我直接用pm2去添加项目,然后终于是可以自动重启项目了。简直不要太快乐了。