一、部署前环境准备
1. 服务器要求
- 操作系统:推荐CentOS 7/8或Ubuntu 20.04+(需支持Docker/K8s)。
- 配置建议:
- 开发环境:2核4G内存 + 50GB磁盘
- 生产环境:4核8G内存 + 100GB+磁盘(根据数据量调整)
- 依赖项:
- Docker(建议19.03+)
- Docker Compose(v1.29+)
- Nginx(反向代理)
- MySQL 5.7+/MariaDB 10.3+(或使用云数据库)
2. 网络与域名
- 确保服务器开放80(HTTP)、443(HTTPS)、3306(数据库,可选)端口。
- 提前备案域名并配置SSL证书(Lets Encrypt免费证书或商业证书)。
二、源码部署步骤
1. 获取源码
- 从官方渠道下载万象生鲜软件源码包(通常为压缩包或Git仓库)。
- 解压后检查目录结构:
```
/backend 后端服务(Java/Python/Go等)
/frontend 前端代码(Vue/React)
/docker-compose.yml 容器编排文件
/docs 部署文档
```
2. 配置数据库
- 方案一:本地MySQL
```bash
安装MySQL并创建数据库
sudo apt install mysql-server
mysql -u root -p
CREATE DATABASE fresh_market CHARACTER SET utf8mb4;
GRANT ALL PRIVILEGES ON fresh_market.* TO user@% IDENTIFIED BY password;
```
- 方案二:云数据库(如阿里云RDS、AWS RDS)
- 修改`backend/application.yml`中的数据库连接信息:
```yaml
spring:
datasource:
url: jdbc:mysql://云数据库地址:3306/fresh_market?useSSL=false
username: 用户名
password: 密码
```
3. 使用Docker快速部署
1. 修改`docker-compose.yml`
- 调整端口映射、环境变量(如数据库连接、Redis地址)。
- 示例片段:
```yaml
services:
backend:
image: fresh-market-backend:latest
ports:
- "8080:8080"
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/fresh_market
```
2. 启动服务
```bash
docker-compose up -d 后台启动
docker-compose logs -f 查看日志
```
4. 前端部署
- 静态资源托管(Nginx配置示例):
```nginx
server {
listen 80;
server_name yourdomain.com;
root /var/www/fresh-market/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
```
- 构建前端(若需本地编译):
```bash
cd frontend
npm install && npm run build
将dist目录内容上传至Nginx服务器
```
三、常见问题解答
Q1: 部署后访问500错误
- 可能原因:
- 数据库连接失败(检查`application.yml`中的URL、用户名、密码)。
- 后端服务未启动(`docker-compose ps`查看状态)。
- 端口冲突(如8080被占用)。
- 解决步骤:
1. 检查日志:`docker-compose logs backend`。
2. 确认数据库表结构已初始化(运行`backend/init.sql`脚本)。
Q2: 前端静态资源加载失败
- 可能原因:
- Nginx配置错误(检查`root`路径和`try_files`规则)。
- 前端未正确构建(检查`dist`目录是否存在)。
- 解决步骤:
1. 访问`http://服务器IP:前端端口`测试基础访问。
2. 使用浏览器开发者工具查看404资源的路径是否正确。
Q3: 性能优化建议
- 数据库优化:
- 为常用查询字段添加索引(如商品ID、用户ID)。
- 定期清理过期订单数据。
- 缓存策略:
- 使用Redis缓存商品列表、用户会话。
- 配置Nginx开启Gzip压缩。
- 负载均衡:
- 生产环境建议使用Nginx反向代理 + 多后端容器实例。
四、进阶部署方案
1. Kubernetes部署(适合大规模生鲜平台)
- 使用Helm Chart管理生鲜软件各组件。
- 配置HPA(水平自动扩缩)应对高峰流量。
2. CI/CD自动化
- 集成GitLab CI或Jenkins实现代码提交后自动构建、测试、部署。
3. 监控告警
- 部署Prometheus + Grafana监控服务状态。
- 配置Alertmanager发送异常通知(如数据库连接失败)。
五、官方支持渠道
- 文档中心:访问万象生鲜官网的[部署文档](https://example.com/docs/deploy)(替换为实际链接)。
- 社区论坛:在GitHub Issues或官方论坛提交问题,附上日志片段。
- 技术支持:联系官方客服邮箱(support@example.com)或拨打400电话。
提示:部署前务必备份数据库和配置文件,避免因操作失误导致数据丢失。首次部署建议先在测试环境验证功能完整性。