spring boot + vue3项目部署须知

newbee-mall 项目上线,需要完成从本地开发环境到生产服务器的完整部署流程。该项目包含后台管理系统、前台商城系统和移动端应用,通常采用前后端分离架构(Spring Boot + Vue),因此部署需分别处理后端服务、前端静态资源和数据库。以下是标准化的上线步骤:

准备服务器与环境

  • 选择云服务器(如阿里云、腾讯云、莱卡云等),推荐配置:2核4G内存以上,带宽5M以上,操作系统选 CentOS 7+ 或 Ubuntu 20.04+。
  • 安装必要软件:
    • JDK 8+(用于运行 Spring Boot)
    • MySQL 5.7+(存储商品、订单、用户等数据)
    • Nginx(反向代理、静态资源托管)
    • Node.js 16+(用于构建前端项目)

部署后端服务

  • 打包后端项目:在本地使用 Maven 执行 mvn clean package -DskipTests,生成 .jar 文件。
  • 上传至服务器:通过 SCP 或 FTP 将 .jar 文件上传到服务器的 /opt/newbee-mall/ 目录。
  • 配置数据库:在服务器上创建数据库并导入初始化 SQL 脚本(通常在项目 sql/ 目录下)。
  • 修改配置文件:编辑 application-prod.yml,设置数据库连接地址、端口、日志路径等生产环境参数。
  • 启动服务:使用命令 nohup java -jar newbee-mall.jar --spring.profiles.active=prod > /dev/null 2>&1 & 后台运行。

部署前端项目

  • 构建前端包:进入前端项目目录(如 newbee-mall-vue-app),执行 npm install && npm run build,生成 dist/ 文件夹。

  • 上传静态资源:将 dist/ 文件夹内容上传到服务器的 /var/www/html/newbee-mall/ 目录。

  • 配置 Nginx:编写 Nginx 配置文件,将请求代理到后端服务,同时提供静态资源访问。示例配置如下:

    server {
    listen 80;
    server_name your-domain.com;

    复制代码
      location /api/ {
          proxy_pass http://localhost:28089; # 后端服务端口
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
      }
    
      location / {
          root /var/www/html/newbee-mall;
          index index.html;
          try_files $uri $uri/ /index.html; # 支持 Vue Router 的 history 模式
      }

    }

  • 重启 Nginx:执行 sudo systemctl restart nginx 使配置生效。

域名与 SSL 配置

  • 购买并解析域名:在域名服务商处将域名 A 记录指向服务器公网 IP。
  • 申请 SSL 证书:推荐使用 Let's Encrypt 免费证书,通过 Certbot 工具自动配置 HTTPS。
  • 强制跳转 HTTPS:在 Nginx 中添加重定向规则,确保所有 HTTP 请求跳转到 HTTPS。

安全与优化

  • 防火墙设置:开放 80、443、28089 端口,关闭不必要的端口。
  • 日志管理:配置日志轮转,避免磁盘占满。
  • 性能优化:启用 Gzip 压缩、静态资源缓存、数据库索引优化等。
  • 监控告警:可接入 Prometheus + Grafana 或阿里云 ARMS 进行服务监控。

验证与测试

  • 访问域名:打开浏览器输入 https://your-domain.com,检查首页、商品列表、购物车、登录等功能是否正常。
  • 测试 API:使用 Postman 或 curl 调用后端接口,确认返回数据正确。
  • 压力测试:使用 JMeter 或 wrk 模拟并发请求,评估系统承载能力。

整个部署过程需注意环境变量隔离、敏感信息脱敏、服务自启配置等细节。若使用 Docker 容器化部署,可将上述步骤封装进 Dockerfiledocker-compose.yml,实现一键部署。上线后建议定期备份数据库、更新依赖、审查安全漏洞,确保系统稳定运行。

相关推荐
覆东流1 小时前
7.Java数组
java·开发语言·后端
m0_719084111 小时前
限流和获取请求ip的方法
java
threerocks2 小时前
AI 原生软件开发生命周期手册 - 如何借助 AI,逐阶段改造软件开发生命周期
前端·javascript·后端
lzhdim2 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
JavaPub-rodert2 小时前
王仕宇在 Go Context 如何解决协程泄漏与超时控制
开发语言·后端·golang·iphone·javapub·王仕宇
深漂的华哥2 小时前
Ruoyi-Plus前后端分离场景下,数据加密传输
java·spring boot·后端·开源·maven·ruoyi
落魄大学生之流水线上谋生计4 小时前
Java锁全面指南:从基础概念到企业级应用
java·开发语言
why技术4 小时前
eli5,我觉得这个全网在吹的技能,使用体验真的很一般啊。
前端·人工智能·后端
学习星球4 小时前
Qwik 框架入门实战:从开源项目 Qwik City 开始,用可恢复性替代水合
后端·前端框架·开源·c5全栈
剑胆琴心静水深流4 小时前
全栈之路6---web集成与呈现
前端·vue.js·spring boot·分布式·spring·前端框架·npm