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,实现一键部署。上线后建议定期备份数据库、更新依赖、审查安全漏洞,确保系统稳定运行。

相关推荐
明夜之约44 分钟前
Spring Transaction 传播机制
java·spring
闪电悠米1 小时前
黑马点评-分布式锁-03_lua_atomic_unlock
java·数据库·分布式·缓存·oracle·wpf·lua
小马爱打代码1 小时前
SpringBoot + Redis Stream + 消费组:替代 Kafka 轻量级消息队列,低延迟高吞吐
spring boot·redis
多工坊1 小时前
The content of elements must consist of well-formed character data or markup.
java
linmoo19861 小时前
Java踩坑系列之二:ThreadLocal内存泄漏
java·内存泄漏·threadlocal·踩坑
传说之后1 小时前
Go语言入门:从零到Hello World
后端·编程语言
ingcc1 小时前
gorm时间处理
后端
27669582921 小时前
拼多多m端/小程序 encrypt_info
java·小程序·apache·encrypt_info·encrypt_info解密·拼多多小程序·拼多多m端