环境要求
目录
- 功能说明
- 设计思路
- 环境要求详情
- 常见问题
1. 功能说明
概述
本文档详细说明 Niucloud 系统运行所需的环境要求,包括服务器配置、软件版本、依赖组件等。
适用场景
- 系统部署前的环境准备
- 开发环境搭建
- 生产环境配置
- 服务器选购参考
2. 设计思路
技术选型
| 组件 | 最低版本 | 推荐版本 | 说明 |
|---|---|---|---|
| PHP | 8.0 | 8.0 | 后端运行环境 |
| MySQL | 5.7 | 8.0+ | 数据存储 |
| Redis | 5.0 | 6.0+ | 缓存服务 |
| Nginx | 1.18 | 1.20+ | Web服务器 |
3. 环境要求详情
3.1 服务器配置
最低配置
| 配置项 | 要求 |
|---|---|
| CPU | 2核 |
| 内存 | 4GB |
| 硬盘 | 50GB SSD |
| 带宽 | 3Mbps |
推荐配置
| 配置项 | 要求 |
|---|---|
| CPU | 4核 |
| 内存 | 8GB |
| 硬盘 | 100GB SSD |
| 带宽 | 5Mbps |
3.2 PHP 环境
必需扩展
- PDO - PDO_MySQL - Redis - Mbstring - OpenSSL - JSON - Fileinfo - GD / Imagick - Zip - XML - BCMath - CurlPHP 配置建议
; php.ini 推荐配置 memory_limit = 512M upload_max_filesize = 50M post_max_size = 50M max_execution_time = 300 max_input_vars = 3000 date.timezone = Asia/Shanghai3.3 MySQL 配置
推荐配置
; my.cnf 推荐配置 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_general_ci max_connections = 500 innodb_buffer_pool_size = 1G innodb_log_file_size = 256M3.4 Nginx 配置
伪静态规则
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }3.5 目录权限
项目根目录需要以下权限: - runtime/ 777 - public/upload/ 777 - public/static/ 755 - app/ 755 - config/ 7553.6 开发环境工具
| 工具 | 用途 | 下载地址 |
|---|---|---|
| Git | 版本控制 | https://git-scm.com |
| Composer | PHP依赖管理 | https://getcomposer.org |
| Node.js | 前端构建 | https://nodejs.org |
| NPM | 前端依赖管理 | 随Node.js安装 |
4. 常见问题
Q1: PHP 扩展安装失败
问题现象:安装 PHP 扩展时提示找不到或安装失败。
解决方案:
# Ubuntu/Debian sudo apt-get install php8.0-redis php8.0-gd php8.0-zip # CentOS sudo yum install php-redis php-gd php-zip # 重启 PHP 服务 sudo systemctl restart php-fpmQ2: 上传文件大小限制
问题现象:上传大文件时提示文件过大。
解决方案:修改 php.ini 中的以下配置:
upload_max_filesize = 50M post_max_size = 50MQ3: 内存不足错误
问题现象:运行过程中出现Allowed memory size exhausted错误。
解决方案:
; 增加 PHP 内存限制 memory_limit = 512M ; 或者修改代码中的临时内存限制 ini_set('memory_limit', '512M');修订记录
| 版本 | 日期 | 修订人 | 修订内容 |
|---|---|---|---|
| v1.0 | 2026-04-08 | Niucloud Team | 初始版本 |
宝塔部署
目录
- 功能说明
- 设计思路
- 部署流程
- 常见问题
1. 功能说明
概述
本文档详细介绍如何使用宝塔面板部署 Niucloud 系统,宝塔面板是国内流行的服务器管理工具,提供可视化的操作界面。
适用场景
- 生产环境部署
- 测试环境搭建
- 快速部署需求
2. 设计思路
部署架构
┌─────────────────────────────────────────┐ │ 用户访问 │ └─────────────────┬───────────────────────┘ │ ┌─────────────────▼───────────────────────┐ │ Nginx │ │ (反向代理/静态资源) │ └─────────────────┬───────────────────────┘ │ ┌─────────────────▼───────────────────────┐ │ PHP-FPM │ │ (PHP 处理) │ └─────────────────┬───────────────────────┘ │ ┌─────────────────▼───────────────────────┐ │ MySQL / Redis │ │ (数据存储/缓存) │ └─────────────────────────────────────────┘3. 部署流程
3.1 安装宝塔面板
# CentOS yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh # Ubuntu/Debian wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh3.2 安装运行环境
在宝塔面板中安装以下软件:
- Nginx 1.20+
- PHP 8.0
- MySQL 5.7+
- Redis
- phpMyAdmin(可选)
3.3 创建网站
- 登录宝塔面板
- 点击「网站」→「添加站点」
- 填写域名信息
- 选择 PHP 版本 8.0
- 网站目录:选择项目的
backend/public目录 - 创建数据库(记录数据库名、用户名、密码)
3.4 上传代码
# 方式1:通过 Git 拉取 # 注意:网站目录为 backend/public,代码需上传到上级目录 cd /www/wwwroot/ git clone https://gitee.com/niucloud-team/niucloud-lite-ai your_domain # 方式2:通过宝塔文件管理器上传 # 将代码压缩包上传到 /www/wwwroot/ 目录并解压 # 确保最终目录结构为 /www/wwwroot/your_domain/backend/public3.5 配置伪静态
在宝塔面板中选择网站 → 设置 → 伪静态,添加以下规则:
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } location ~* \.(gif|jpg|jpeg|png|css|js|ico|woff|woff2|ttf|svg|eot)$ { expires 30d; add_header Cache-Control "public, immutable"; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }3.6 设置目录权限
# 设置目录权限 chmod -R 755 /www/wwwroot/your_domain/backend chmod -R 777 /www/wwwroot/your_domain/backend/runtime chmod -R 777 /www/wwwroot/your_domain/backend/public/upload3.7 安装依赖+构建前端
cd /www/wwwroot/your_domain/frontend # 安装 PHP 依赖 composer install --no-dev --optimize-autoloader # 安装前端依赖(Admin) cd admin npm install npm run build # 安装前端依赖(UniApp) cd ../uni-app npm install npm run build:h5 # 安装前端依赖(Web) cd ../web npm install npm run build3.8 复制前端构建结果到 backend 目录
# 复制前端构建结果到 backend 目录 cp -r admin/dist /www/wwwroot/your_domain/backend/public/admin cp -r uni-app/dist /www/wwwroot/your_domain/backend/public/wap cp -r web/dist /www/wwwroot/your_domain/backend/public/web3.9 配置数据库
- 创建数据库(已在创建网站时完成)
- 导入初始 SQL 文件
- 修改数据库配置文件
.env
DB_HOST=localhost DB_PORT=3306 DB_DATABASE=your_database DB_USERNAME=your_username DB_PASSWORD=your_password REDIS_HOST=127.0.0.1 REDIS_PORT=6379 REDIS_PASSWORD=3.9 配置计划任务
在宝塔面板中添加计划任务:
# 每分钟执行一次 * * * * * cd /www/wwwroot/your_domain && php think schedule:run >> /dev/null 2>&13.10 配置 SSL(可选)
- 在宝塔面板中选择网站 → SSL
- 申请 Let's Encrypt 免费证书
- 开启强制 HTTPS
3.11 启动服务+访问网站
- 启动 Nginx 服务
- 启动 PHP-FPM 服务
- 启动 MySQL 服务
- 启动 Redis 服务
# 启动服务 bt nginx start bt php-fpm start bt mysql start bt redis start网站地址:
- 后台API接口:http://your_domain/adminapi
- API 接口:http://your_domain/api
- Admin 管理:http://your_domain/admin
- UniApp H5:http://your_domain/wap
- Web 开发:http://your_domain/web
4. 常见问题
Q1: 网站访问 500 错误
问题现象:访问网站显示 500 Internal Server Error。
解决方案:
- 检查 PHP 版本是否为 8.0+
- 检查目录权限是否正确
- 查看 runtime/log/ 下的错误日志
- 确保 .env 文件配置正确
Q2: 静态资源无法加载
问题现象:CSS、JS 文件 404 错误。
解决方案:
- 检查伪静态配置是否正确
- 确认 public 目录为网站根目录
- 检查文件是否上传完整
Q3: 数据库连接失败
问题现象:提示数据库连接错误。
解决方案:
- 检查 .env 中的数据库配置
- 确认数据库用户权限
- 检查 MySQL 服务是否运行
Q4: 上传文件失败
问题现象:上传文件时提示失败或文件损坏。
解决方案:
# 检查上传目录权限 chmod -R 777 /www/wwwroot/your_domain/backend/public/upload # 修改 PHP 上传限制 # 在宝塔面板 → PHP 设置 → 配置修改 upload_max_filesize = 50M post_max_size = 50M本地部署
目录
- 功能说明
- 设计思路
- 部署流程
- 常见问题
1. 功能说明
概述
本文档详细介绍如何在本地环境部署 Niucloud 系统,适用于开发调试和学习使用。
适用场景
- 本地开发环境搭建
- 功能测试
- 学习研究
2. 设计思路
本地环境架构
3. 部署流程
3.1 Windows 环境部署
使用 phpStudy(小皮面板)
下载安装 phpStudy
- 官网:小皮面板(phpStudy) - 让天下没有难配的服务器环境!
- 下载并安装到本地
启动环境
- 启动 Apache 或 Nginx
- 启动 MySQL
- 启动 Redis
创建网站
- 点击「网站」→「创建网站」
- 域名:niucloud.test(或 localhost)
- 根目录:选择项目 backend/public 目录
- PHP 版本:8.0
创建数据库
- 点击「数据库」→「创建数据库」
- 记录数据库名、用户名、密码
配置伪静态
Nginx 配置:
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }Apache 配置(.htaccess):
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>3.2 安装项目依赖
# 进入项目目录(根据实际情况修改) cd d:\phppro\niucloud-lite # 安装 PHP 依赖(根据实际情况修改) composer install # 复制环境配置文件(根据实际情况修改) copy .env.example .env # 编辑 .env 文件,配置数据库和redis连接(根据实际情况修改)3.3 配置环境变量
编辑.env文件(根据实际情况修改):
APP_DEBUG=true APP_KEY=your-random-key DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=niucloud_lite DB_USERNAME=root DB_PASSWORD=root REDIS_HOST=127.0.0.1 REDIS_PORT=63793.4 导入数据库
找到数据库文件
- 路径:'doc\sql\niucloud_lite.sql`
导入方式
方法一:使用 phpStudy 面板导入
- 点击「数据库」→「管理」
- 选择对应的数据库
- 点击「导入」→ 选择
niucloud_lite.sql文件 - 等待导入完成
方法二:使用命令行导入
# 进入项目目录(根据实际路径) cd d:\phppro\niucloud-lite # 导入数据库 mysql -u root -p niucloud_lite < doc/sql/niucloud_lite.sql3.5 启动前端开发服务器
# Admin 端 cd admin npm install npm run dev # UniApp 端 cd uni-app npm install npm run dev:h5 # Web 端 cd web npm install npm run dev3.6 访问系统
- 后台管理:http://niucloud.test/admin
- API 接口:http://niucloud.test/api
- Admin 开发:http://localhost:5173
- UniApp H5:http://localhost:5174
- Web 开发:http://localhost:5175
4. 常见问题
Q1: 端口冲突
问题现象:启动服务时提示端口被占用。
解决方案:
# 查找占用端口的进程 netstat -ano | findstr :80 # 结束进程 taskkill /PID 进程ID /F # 或修改 phpStudy 端口为 8080Q2: 数据库连接失败
问题现象:提示Connection refused或Access denied。
解决方案:
- 确认 MySQL 服务已启动
- 检查 .env 中的数据库配置
- 确认数据库用户存在且有权限
- 尝试使用 root 用户连接
Q3: Composer 安装失败
问题现象:Composer 安装依赖时超时或失败。
解决方案:
# 切换国内镜像 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ # 或使用代理 set HTTP_PROXY=http://proxy.example.com:8080 composer installQ4: 前端构建失败
问题现象:npm install 或 npm run dev 报错。
解决方案:
# 清除缓存 npm cache clean --force # 使用淘宝镜像 npm config set registry https://registry.npmmirror.com # 重新安装 rm -rf node_modules npm installQ5: 跨域问题
问题现象:前端调用 API 时出现跨域错误。
解决方案:
- 开发环境下,前端配置代理
- 或在后端配置跨域中间件
- 确保前后端使用相同的域名访问