个人简介
本人是一名大二的软件工程专业的学生,经过二年对关于软件和网站开发相关技术的学习,终于在今天开发出了自己的第一个作品-小迪课堂,小迪课堂是一个供向我这样对开发充满热爱的同学们学习的视频网站,让热爱学习开发技术的同学不用在到处找资源,在本网站就能得到高质量的学习资源!
网站简介
相关技术
本网站是基于springboot的后端框架和vue作为前端框架开发的,前端用到的组件库是cube-ui,适配于手机端的ui组件库.
用到的相关技术:
后端
- springboot+mybatis+spring+guava+mysql+jwt
前端
- vue+cube-ui+vue-route+vue-cli脚手架等
开发模式
采用的是前后端分离的开发模式,用封装ajax的axios框架来发送http请求,后端提供数据接口服务供前端调用在页面进行展示,前后端基于JSON进行数据的传输.
部署方式
本项目是用docker容器技术来进行下部署的.
- 首先将后端项目配置好以后,用maven插件将后端springboot项目打包成jar包
- 然后通过xshell这个ssh连接工具连接阿里云服务器,填写云服务的公网ip和开放22端口即可连接上云服务器,如下图连接成功.
- 将打包好的jar文件上传到云服务器上,这里是采用xftp工具来进行文件上传的,然后下载java8的docker镜像:
docker pull java:8
,编写Dockerfile文件将java8和上传的jar文件制作为一个新镜像:
from java:8 MAINTAINER zhangpeihong VOLUME /tmp ADD docker-test-0.0.1-SNAPSHOT.jar zhang_docker.jar RUN bash -c 'touch /zhang_docker.jar' ENTRYPOINT ["java","-jar","/zhang_docker.jar"] expose 6001
- 拉取mysql镜像和nginx镜像
在此之前将前端打包成dist目录上传到云服务器,并配置nginx.conf文件,将dist目录上传到nginx容器中,可以通过容器卷的技术来是实现.
同时运行mysql镜像,将项目需要的数据导入到mysql数据库中
- 编写docker-compose.yml文件
上面的步骤都准备好以后,我们就可以编写docker-compose.yml,进行服务编排,让上面的镜像一键启动这些容器实例即可,最后我们就可以访问nginx服务器来访问我们的项目了,最重要的是我们一定要在阿里云服务器的安全组配置入站规则,一定要开放项目中所需要的端口.
- 上面的步骤经过之后让我们来看看项目部署上线的效果
这是我通过手机访问网站得到的效果图,这样看的话,手机适配还是挺好看的!
感谢词
在这里非常感谢阿里云提供的云服务器,让我们在校大学生,能把自己开发的项目部署到公网中,这次的实践经历让我检验了自己docker部署项目的技术,也学习到了如何将自己开发的项目部署到了云端,这是一个很好的经历,让我对开发有了更加浓厚的兴趣,通过这个项目让自己对一个项目从开发-测试-部署这一套流程有很大的了解,了解市面上公司的基本开发流程.