后端架构与服务器部署全流程学习指南
文档说明
本文档基于后端架构与服务器部署培训内容整理,聚焦前后端项目部署、各项配置、Linux服务器操作核心知识点,从基础架构选型、开发逻辑,到实战部署、配置细节全拆解,适配零基础快速上手,同时明确后续学习重点,助力完整掌握项目从本地到线上的全链路部署能力。
一、基础设施与架构选型基础认知
1.1 云服务器选型与核心配置
1.1.1 服务器配置推荐
针对微服务项目部署,优先选择华北乌兰察布地域高性价比云服务器,基础配置标准:
• 硬件配置:8核16G内存、40G系统硬盘、5M带宽,满足微服务多模块运行与基础并发需求
• 操作系统:首选CentOS(Linux发行版) ,拒绝Windows服务器
• 选型原因:Linux系统更贴近机器底层,无冗余图形界面,资源占用低、稳定性强、安全性高,适合后端服务长期运行;Windows侧重图形化操作,服务器运维成本高、性能损耗大,不适合生产环境部署。
1.1.2 域名与服务器关联逻辑
• 服务器本质:对外暴露IP地址+端口,用户可通过IP直接访问,但记忆难度大、不规范
• 域名作用:替代复杂IP,实现便捷访问,域名必须单独购买并完成工信部备案,未备案域名无法正常解析访问
• 关联流程:购买域名→完成备案→域名解析到服务器公网IP→配置Nginx实现域名指向项目
1.1.3 服务器基础认知
服务器是项目运行的核心载体,云服务器无需自建物理机房,省去硬件维护、网络防护等繁琐工作,直接通过远程工具操控,是中小型项目部署的最优选择。
1.2 微服务架构核心优势
微服务是当下主流后端架构,将传统单体应用拆分为多个独立、可单独部署的服务模块,核心优势如下:
1. 解耦与容错性:拆分订单、支付、商品、竞价等独立服务,多人可并行开发;单一服务宕机,不会影响其他服务正常运行,大幅提升系统稳定性。
2. 负载均衡能力:通过服务网关分发请求,将高并发流量分摊至多台服务器,避免单台服务器压力过载导致崩溃,适配用户量增长后的高并发场景。
3. 灵活扩展性:可针对单一服务单独升级、扩容,无需改动整个项目,适配业务迭代需求。
1.3 服务器安全运维核心准则
1. 杜绝文件上传漏洞:严禁将用户上传的图片、文档等文件直接存储在项目服务器本地,恶意文件(木马、病毒)伪装后入侵,会导致服务器被攻击、域名封禁、数据泄露。
○ 解决方案:使用云存储(OSS、COS)存放用户上传文件,实现文件与项目服务器隔离。
2. 优先选择云服务:对比自建机房,云服务器厂商已完成网络安全、硬件维护、数据备份等基础保障,大幅降低运维成本与技术门槛。
3. 做好权限管控:严格限制服务器登录权限、数据库访问权限,避免非法操作。
二、后端开发核心逻辑(部署前置知识)
后端项目是前后端联调的核心,需先理清开发分层逻辑,才能顺利完成部署配置,基于若依框架的后端开发分为三层核心结构:
2.1 Controller层(接口控制层)
• 核心职责:仅负责接收前端请求、返回响应数据,不处理复杂业务逻辑
• 关键配置:通过@RestController注解声明控制类,@RequestMapping注解定义接口请求路径
• 请求处理:通过Request对象获取前端请求头(Header)中的Token,解析登录用户身份信息
2.2 Service层(业务逻辑层)
• 核心职责:处理项目所有核心业务逻辑,是后端开发的核心环节
• 核心工作:字段非空校验、用户权限验证、登录态判断、数据逻辑处理等
• Token验证:通过Redis缓存存储用户登录态,实现快速身份校验,减少数据库查询压力,提升接口响应速度
2.3 Mapper层(数据持久层)
• 核心职责:实现后端代码与数据库的交互,完成数据增删改查
• 技术实现:基于MyBatis框架,通过驼峰命名映射,将Java实体类与MySQL数据库表字段一一对应
• 执行方式:通过XML文件或注解编写SQL语句,实现数据持久化存储与读取
2.4 后端开发核心依赖
• 运行环境:必须安装JDK(Java开发工具包),否则项目无法启动
• 数据库:采用MySQL,通过application.yml配置文件,配置数据库连接地址、端口、账号、密码,建立项目与数据库的连接
• 项目打包:最终将项目打包为Jar包,用于Linux服务器部署
三、Linux服务器基础操作(部署必备)
3.1 服务器远程连接
• 核心工具:FinalShell(免费、易用,推荐新手)、XShell
• 连接方式:通过服务器公网IP、端口(默认22)、服务器账号密码,建立远程连接
• 操作逻辑:连接成功后,通过Linux命令行执行文件上传、目录创建、服务启动等操作
3.2 Linux基础必备命令
1. 文件目录操作:mkdir(创建文件夹)、cd(切换目录)、ls(查看目录文件)、rm(删除文件/文件夹)
2. 进程操作:ps(查看运行进程)、kill(关闭进程)、nohup(后台运行项目,关闭终端不停止)
3. 权限操作:chmod(修改文件权限)、chown(修改文件归属)
4. 日志查看:tail(实时查看项目运行日志,排查部署报错)
四、前端项目部署与配置全流程
4.1 前端项目打包
• 前端开发完成后,执行打包命令(Vue/React项目通用),生成静态资源文件(包含HTML、CSS、JS、图片等)
• 打包结果:生成dist文件夹,该文件夹为前端最终需要部署的文件
4.2 前端资源上传服务器
1. 通过FinalShell远程连接Linux服务器,创建专属前端静态资源存放目录(如/usr/local/frontend/dist)
2. 将本地打包好的dist文件夹,上传至服务器该目录下
4.3 Nginx核心配置(前端部署关键)
Nginx是前端部署的核心中间件,负责监听请求、转发流量、域名映射,配置步骤如下:
1. 安装Nginx:在Linux服务器通过命令安装Nginx服务
2. 修改Nginx配置文件:找到nginx.conf配置文件,添加核心配置
○ 监听80端口(网页默认访问端口)
○ 配置服务器域名,指向前端dist文件夹所在目录
○ 配置请求转发规则,将前端接口请求转发至后端服务
3. 重启Nginx:配置修改完成后,重启Nginx服务,使配置生效
4.4 前端访问逻辑
用户通过域名/服务器IP访问 → Nginx监听80端口 → 读取前端dist静态资源 → 浏览器渲染页面,完成前端访问
五、后端项目部署与配置全流程
5.1 后端项目本地打包
1. 确认application.yml配置文件:完善数据库连接、Redis、端口等配置
2. 执行打包命令:将后端项目打包为Jar包,生成在项目target目录下
5.2 后端Jar包上传服务器
1. 在Linux服务器创建专属后端项目目录(如/usr/local/backend/jar)
2. 将本地打包好的Jar包,上传至该目录
5.3 后端服务启动
1. 进入Jar包所在目录,执行后台启动命令:nohup java -jar 项目名.jar &
2. 验证启动:通过查看运行日志,确认后端服务启动成功,接口正常监听
5.4 后端部署核心注意事项
• 确保服务器已安装JDK、MySQL、Redis,且服务正常运行
• 开放服务器端口:后端接口端口、MySQL端口、Redis端口需在服务器安全组放行,否则无法访问
• 数据库初始化:提前将本地数据库脚本导入服务器MySQL,确保数据连接正常
六、前后端联调完整链路
1. 前端页面发起接口请求 → 通过域名/IP请求对应接口地址
2. Nginx接收请求,根据配置转发至后端服务
3. 后端Controller层接收请求 → Service层处理业务 → Mapper层操作数据库
4. 后端处理完成后,返回数据至Nginx → Nginx转发至前端
5. 前端接收数据,渲染页面展示,完成一次完整请求
七、后续待办学习重点
本次培训已完成基础架构、开发逻辑、全链路部署梳理,后续将开展专项进阶讲解:
1. Nginx详细配置:深度讲解Nginx配置规则、反向代理、负载均衡、跨域解决等实操细节
2. 前端部署进阶:前端路由配置、静态资源缓存、打包优化、部署报错排查
3. 后端部署优化:Jar包开机自启、服务监控、日志管理、性能调优
八、学习实操建议
1. 先搭建本地环境:先在本地完成前后端项目联调,确保代码无问题,再进行服务器部署
2. 分步部署:先部署后端、验证接口正常,再部署前端、调试页面访问,逐步排查问题
3. 熟记配置文件:前后端配置文件是部署核心,牢记数据库、Nginx、项目端口等配置规则
4. 多练Linux命令:服务器操作全依赖命令行,熟练基础命令才能快速完成部署与问题修复