将 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 容器化部署,可将上述步骤封装进 Dockerfile 和 docker-compose.yml,实现一键部署。上线后建议定期备份数据库、更新依赖、审查安全漏洞,确保系统稳定运行。