简介
我目前是一名研二的在校学生,研究领域是计算机视觉。除此之外,为了可以在秋招过程中获得一个更好的机会,最近也在学习一些Java后端的相关知识,前端时间在学习完一些框架之后,实现了一个前后端分离的一个轻量级博客项目,主要是后端实现。在完成本地测试后,就想着部署在云端。之后通过搜索,了解到阿里云这个”飞天加速计划“,正好自己符合条件,所以就参加了。从本地到部署在云端服务器的过程,自己学习到了一些经验和知识。
部署
首先自己对于部署过程基本不了解,所有更多的是查阅相关的博客。这一个过程对于老手来说,肯定无经验可谈,而且有可能一些做法都是过时的,或者不合理。
环境搭建
首先就是jdk的安装,MySQL的安装与配置,确保本地可以连接到云数据库,并将数据导入。还有就是redis的安装与配置,nginx的安装。其中用到端口一定要开放,可以在阿里云控制台安全组进行添加,比较方便。
前端部署
由于项目是前后端分离,我首先将前端项目在本地build,将生成的dist文件夹放到云服务器的一个目录。通过nginx做代理服务器。我这项目属于单体项目,服务器也是一台,所有没有分布式的思想。nginx监听一个端口作为静态页面的启动。同时在nginx配置后台请求的转发。这个过程由于自己对nginx并不熟练,走了很多弯路,主要就是只出现静态页面。
后端部署
首先就是将项目的配置文件一些信息更改,例如mysql,redis。然后进行打包,将打包好的项目传到服务器上,使用java -jar进行运行。主要难点就是前后端接口的问题。从前端访问无法获取内容,通过postman工具测试可以获取。解决方法就是在前端项目将对后端的请求路径都加上api的字段,在nginx配置文件中,如果出现api请求就转发到后端接口。可能处理方式比较low。
收获总结
1、本地测试和真正的部署生产环境区别很大,不仅仅体现在操作系统的差异。还有用到的相关知识也是有差异。所以一定要自己动手部署一下,体验完全不一样。
2、不要盲目动手和放弃。很多情况下通过别人介绍的流程,大体上会实现,如果相关知识匮乏,会出现各种各样的问题,最好还是先自己了解相关知识后再动手。同时即便学习相关知识后,也会遇到一些问题,要耐心排查。
截图
最后放几张博客截图,比较简单的一个项目,哈哈!!