一、部署前准备
1. 环境要求
- 服务器配置:建议至少2核4G内存,50GB以上硬盘空间(根据数据量调整)。
- 操作系统:Linux(CentOS 7+/Ubuntu 20.04+)或Windows Server 2016+。
- 依赖项:
- 数据库:MySQL 5.7+/MariaDB 10.3+ 或 PostgreSQL 12+。
- Web服务器:Nginx/Apache(需支持PHP 7.4+)。
- 缓存:Redis(可选,用于会话管理)。
- 队列:RabbitMQ(可选,用于异步任务)。
- 网络:确保服务器可访问公网(若需调用第三方API,如支付、物流接口)。
2. 源码获取
- 从官方渠道下载源码包(如GitHub仓库、压缩包),验证文件完整性(MD5/SHA256校验)。
- 检查源码目录结构是否包含`config/`、`public/`、`app/`等核心文件夹。
3. 权限配置
- 确保运行用户(如`www-data`或`nginx`)对以下目录有读写权限:
- `storage/`(日志、缓存)
- `bootstrap/cache/`(框架缓存)
- `public/uploads/`(用户上传文件)
二、部署流程
1. 数据库初始化
- 创建数据库:
```sql
CREATE DATABASE生鲜系统 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
- 导入表结构:
使用`mysql -u用户名 -p生鲜系统 < database.sql`导入初始SQL文件。
2. 配置文件修改
- 复制`.env.example`为`.env`,修改关键参数:
```ini
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=生鲜系统
DB_USERNAME=root
DB_PASSWORD=你的密码
APP_URL=http://你的域名
```
- 生成应用密钥:
```bash
php artisan key:generate
```
3. 依赖安装
- 使用Composer安装PHP依赖:
```bash
composer install --no-dev --optimize-autoloader
```
- 安装前端依赖(如Vue/React):
```bash
npm install && npm run build
```
4. 迁移与种子
- 运行数据库迁移:
```bash
php artisan migrate
```
- 填充测试数据(可选):
```bash
php artisan db:seed
```
5. 启动服务
- Nginx配置示例:
```nginx
server {
listen 80;
server_name 你的域名;
root /path/to/生鲜软件/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
include fastcgi_params;
}
}
```
- 重启Web服务:
```bash
systemctl restart nginx
systemctl restart php-fpm
```
三、常见问题与解决方案
1. 500 Internal Server Error
- 原因:权限不足、存储目录不可写、.env配置错误。
- 解决:
- 检查`storage/`和`bootstrap/cache/`权限。
- 查看`storage/logs/laravel.log`获取详细错误。
2. 数据库连接失败
- 原因:密码错误、数据库未启动、防火墙拦截。
- 解决:
- 验证`.env`中的数据库凭据。
- 检查MySQL服务状态:`systemctl status mysql`。
3. 前端静态资源404
- 原因:Nginx未正确指向`public/`目录或缓存未更新。
- 解决:
- 确认Nginx配置中`root`指向`public/`。
- 运行`npm run build`重新生成静态文件。
4. 队列任务不执行
- 原因:未启动队列监听器。
- 解决:
```bash
php artisan queue:work --tries=3
```
四、性能优化建议
1. 缓存配置
- 启用Redis缓存:修改`.env`中的`CACHE_DRIVER=redis`。
- 配置会话存储:`SESSION_DRIVER=redis`。
2. 数据库优化
- 为常用查询字段添加索引(如商品ID、用户ID)。
- 定期执行`php artisan optimize:clear`清理缓存。
3. 负载均衡
- 使用Nginx反向代理多台应用服务器。
- 配置共享存储(如NFS)用于用户上传文件。
五、升级与维护
1. 版本升级
- 备份数据库和代码。
- 拉取最新源码,运行`composer update`。
- 执行`php artisan migrate`更新数据库结构。
2. 日志监控
- 设置Cron任务定期清理旧日志:
```bash
find /path/to/生鲜软件/storage/logs -type f -mtime +30 -delete
```
3. 安全加固
- 禁用PHP错误显示:修改`php.ini`中的`display_errors=Off`。
- 定期更新依赖库:`composer outdated`检查过时包。
六、官方支持渠道
- 文档中心:访问[万象生鲜软件官方文档](https://docs.wanxiang.com)获取API参考和部署指南。
- 社区论坛:在[GitHub Issues](https://github.com/wanxiang/生鲜软件/issues)提交问题或搜索解决方案。
- 技术支持:通过邮件support@wanxiang.com联系专属工程师。
通过以上步骤,用户可系统化完成生鲜软件的部署,并快速定位解决常见问题。如遇复杂场景(如高并发、分布式部署),建议联系官方技术支持获取定制化方案。