环境要求目录功能说明设计思路环境要求详情常见问题1. 功能说明概述本文档详细说明 Niucloud 系统运行所需的环境要求包括服务器配置、软件版本、依赖组件等。适用场景系统部署前的环境准备开发环境搭建生产环境配置服务器选购参考2. 设计思路技术选型组件最低版本推荐版本说明PHP8.08.0后端运行环境MySQL5.78.0数据存储Redis5.06.0缓存服务Nginx1.181.20Web服务器3. 环境要求详情3.1 服务器配置最低配置配置项要求CPU2核内存4GB硬盘50GB SSD带宽3Mbps推荐配置配置项要求CPU4核内存8GB硬盘100GB SSD带宽5Mbps3.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.comComposerPHP依赖管理https://getcomposer.orgNode.js前端构建https://nodejs.orgNPM前端依赖管理随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.02026-04-08Niucloud 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.20PHP 8.0MySQL 5.7RedisphpMyAdmin可选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 文件修改数据库配置文件.envDB_HOSTlocalhost DB_PORT3306 DB_DATABASEyour_database DB_USERNAMEyour_username DB_PASSWORDyour_password REDIS_HOST127.0.0.1 REDIS_PORT6379 REDIS_PASSWORD3.9 配置计划任务在宝塔面板中添加计划任务# 每分钟执行一次 * * * * * cd /www/wwwroot/your_domain php think schedule:run /dev/null 213.10 配置 SSL可选在宝塔面板中选择网站 → SSL申请 Lets Encrypt 免费证书开启强制 HTTPS3.11 启动服务访问网站启动 Nginx 服务启动 PHP-FPM 服务启动 MySQL 服务启动 Redis 服务# 启动服务 bt nginx start bt php-fpm start bt mysql start bt redis start网站地址后台API接口http://your_domain/adminapiAPI 接口http://your_domain/apiAdmin 管理http://your_domain/adminUniApp H5http://your_domain/wapWeb 开发http://your_domain/web4. 常见问题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 配置.htaccessIfModule mod_rewrite.c Options FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] /IfModule3.2 安装项目依赖# 进入项目目录根据实际情况修改 cd d:\phppro\niucloud-lite # 安装 PHP 依赖根据实际情况修改 composer install # 复制环境配置文件根据实际情况修改 copy .env.example .env # 编辑 .env 文件配置数据库和redis连接根据实际情况修改3.3 配置环境变量编辑.env文件根据实际情况修改APP_DEBUGtrue APP_KEYyour-random-key DB_HOST127.0.0.1 DB_PORT3306 DB_DATABASEniucloud_lite DB_USERNAMEroot DB_PASSWORDroot REDIS_HOST127.0.0.1 REDIS_PORT63793.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/adminAPI 接口http://niucloud.test/apiAdmin 开发http://localhost:5173UniApp H5http://localhost:5174Web 开发http://localhost:51754. 常见问题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_PROXYhttp://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 时出现跨域错误。解决方案开发环境下前端配置代理或在后端配置跨域中间件确保前后端使用相同的域名访问
阅读完成 · 觉得有帮助?