小迪课堂

简介: 一个让程序员在线学习的视频网站

个人简介

本人是一名大二的软件工程专业的学生,经过二年对关于软件和网站开发相关技术的学习,终于在今天开发出了自己的第一个作品-小迪课堂,小迪课堂是一个供向我这样对开发充满热爱的同学们学习的视频网站,让热爱学习开发技术的同学不用在到处找资源,在本网站就能得到高质量的学习资源!


网站简介

相关技术

本网站是基于springboot的后端框架和vue作为前端框架开发的,前端用到的组件库是cube-ui,适配于手机端的ui组件库.

用到的相关技术:

后端

  • springboot+mybatis+spring+guava+mysql+jwt

前端

  • vue+cube-ui+vue-route+vue-cli脚手架等

开发模式

采用的是前后端分离的开发模式,用封装ajax的axios框架来发送http请求,后端提供数据接口服务供前端调用在页面进行展示,前后端基于JSON进行数据的传输.


部署方式

本项目是用docker容器技术来进行下部署的.


  1. 首先将后端项目配置好以后,用maven插件将后端springboot项目打包成jar包

image.png


  1. 然后通过xshell这个ssh连接工具连接阿里云服务器,填写云服务的公网ip和开放22端口即可连接上云服务器,如下图连接成功.

image.png

  1. 将打包好的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
  1. 拉取mysql镜像和nginx镜像

在此之前将前端打包成dist目录上传到云服务器,并配置nginx.conf文件,将dist目录上传到nginx容器中,可以通过容器卷的技术来是实现.

同时运行mysql镜像,将项目需要的数据导入到mysql数据库中


  1. 编写docker-compose.yml文件

    上面的步骤都准备好以后,我们就可以编写docker-compose.yml,进行服务编排,让上面的镜像一键启动这些容器实例即可,最后我们就可以访问nginx服务器来访问我们的项目了,最重要的是我们一定要在阿里云服务器的安全组配置入站规则,一定要开放项目中所需要的端口.


  1. 上面的步骤经过之后让我们来看看项目部署上线的效果

QQ图片20221025165453.jpg

这是我通过手机访问网站得到的效果图,这样看的话,手机适配还是挺好看的!

感谢词

在这里非常感谢阿里云提供的云服务器,让我们在校大学生,能把自己开发的项目部署到公网中,这次的实践经历让我检验了自己docker部署项目的技术,也学习到了如何将自己开发的项目部署到了云端,这是一个很好的经历,让我对开发有了更加浓厚的兴趣,通过这个项目让自己对一个项目从开发-测试-部署这一套流程有很大的了解,了解市面上公司的基本开发流程.



相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
开发工具
frp-免费内网穿透
frp-免费内网穿透
2625 0
|
4月前
|
存储 算法 关系型数据库
吃透分布式 ID:雪花算法、号段模式的底层逻辑与全场景架构避坑
本文深度解析分布式ID两大主流方案——雪花算法与号段模式,涵盖核心设计准则(唯一性、趋势递增、高性能等)、底层原理、代码实现、6大生产避坑指南及场景化选型建议,助你构建稳定可靠的分布式ID服务。
707 4
|
4月前
|
NoSQL 关系型数据库 MySQL
分布式锁:底层原理全拆解 + 高可用方案深度对比,生产落地全指南
本文系统解析分布式锁的必要性、八大核心设计准则,并对比MySQL、Redis原生、Redisson、ZooKeeper、Etcd五种主流方案,涵盖原理、代码实现、优缺点及生产选型指南,助你规避超时、误释放、脑裂等典型坑点。
349 1
|
7月前
|
数据采集 运维 区块链
真实世界资产代币化的合规与技术难题解决方案
聚焦RWA项目合规与技术难题,通过界定资产类别、司法辖区等边界,梳理利益相关方与风险触点,建立“谁负责、谁受益、谁承担”共识机制。输出可执行问题陈述、边界图及合规技术清单,设定法域映射、数据完整性和合规成本区间等落地标准。
|
5月前
|
人工智能 自然语言处理 安全
新手小白如何部署OpenClaw(Clawdbot)?阿里云一键部署!
OpenClaw(原Clawdbot/Moltbot)是一款开源AI智能体平台,可部署于自有服务器,通过自然语言调用浏览器、邮件、文件等工具,自动完成文档整理、日程安排、代码编写等任务,数据本地化,隐私安全可控。
470 11
|
10月前
|
边缘计算 网络安全 CDN
阿里云CDN服务的优劣势分析
阿里云CDN依托全球50+节点,提供高速、稳定、安全的内容分发服务,支持智能调度、灵活配置与DDoS防护,助力企业提升海外访问体验。虽价格略高,功能相对集中,但仍是全球化业务优选的可靠加速方案。
|
10月前
|
安全 架构师 Java
90% Java新手踩坑!彻底搞懂这4个权限修饰符
Java权限修饰符看似简单,却暗藏致命风险:`public`暴露数据、`protected`跨包失控、默认权限成地雷。本文通过3大真实案例+1张神图,深度解析`private`、`default`、`protected`、`public`的作用域与内存可见性,揭示Spring Bean、继承陷阱、包级漏洞的根源,并奉上防御性编程5大原则,助你筑牢代码第一道防线。
378 1
|
存储 数据处理 索引
MATLAB中的基本数据类型与变量操作
【10月更文挑战第1天】 MATLAB 是一种广泛应用于数学计算和科学研究的编程语言,其核心是矩阵运算。本文详细介绍了 MATLAB 中的基本数据类型,包括数值类型(如 `double` 和 `int`)、字符数组、逻辑类型、结构体、单元数组和函数句柄,并通过代码示例展示了变量操作方法。
|
监控 安全 网络协议
永久免费SSL证书教程—自动续签
要实现免费SSL证书的自动续签,选择合适的证书颁发机构(CA)至关重要。推荐使用JoySSL,填写注册码230922可获得免费且支持自动续签的SSL证书。申请步骤包括注册账户、选择证书类型、提交申请、验证域名所有权及安装证书。配置自动续签需安装续签工具、生成密钥和CSR,并设置续签参数。定期检查证书状态、备份证书和密钥,确保续签顺利进行。注意CA机构的政策和服务条款变化,以保持证书的有效性。