本地部署
目录
1. 功能说明
概述
本文档详细介绍如何在本地环境部署 Niucloud 系统,适用于开发调试和学习使用。
适用场景
- 本地开发环境搭建
- 功能测试
- 学习研究
2. 设计思路
本地环境架构
┌─────────────────────────────────────────┐
│ 浏览器访问 │
│ http://localhost │
└─────────────────┬───────────────────────┘
│
┌─────────────────▼───────────────────────┐
│ 本地服务器 (WAMP/XAMPP) │
│ Apache/Nginx + PHP + MySQL │
└─────────────────┬───────────────────────┘
│
┌─────────────────▼───────────────────────┐
│ 项目代码目录 │
│ d:\phppro\niucloud-lite │
└─────────────────────────────────────────┘3. 部署流程
3.1 Windows 环境部署
使用 phpStudy(小皮面板)
下载安装 phpStudy
- 官网:https://www.xp.cn/
- 下载并安装到本地
启动环境
- 启动 Apache 或 Nginx
- 启动 MySQL
- 启动 Redis
创建网站
- 点击「网站」→「创建网站」
- 域名:niucloud.test(或 localhost)
- 根目录:选择项目 backend/public 目录
- PHP 版本:8.0
创建数据库
- 点击「数据库」→「创建数据库」
- 记录数据库名、用户名、密码
配置伪静态
Nginx 配置:
nginx
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}Apache 配置(.htaccess):
apache
<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 安装项目依赖
bash
# 进入项目目录(根据实际情况修改)
cd d:\phppro\niucloud-lite
# 安装 PHP 依赖(根据实际情况修改)
composer install
# 复制环境配置文件(根据实际情况修改)
copy .env.example .env
# 编辑 .env 文件,配置数据库和redis连接(根据实际情况修改)3.3 配置环境变量
编辑 .env 文件(根据实际情况修改):
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文件 - 等待导入完成
方法二:使用命令行导入
bash
# 进入项目目录(根据实际路径)
cd d:\phppro\niucloud-lite
# 导入数据库
mysql -u root -p niucloud_lite < doc/sql/niucloud_lite.sql3.5 启动前端开发服务器
bash
# 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: 端口冲突
问题现象: 启动服务时提示端口被占用。
解决方案:
bash
# 查找占用端口的进程
netstat -ano | findstr :80
# 结束进程
taskkill /PID 进程ID /F
# 或修改 phpStudy 端口为 8080Q2: 数据库连接失败
问题现象: 提示 Connection refused 或 Access denied。
解决方案:
- 确认 MySQL 服务已启动
- 检查 .env 中的数据库配置
- 确认数据库用户存在且有权限
- 尝试使用 root 用户连接
Q3: Composer 安装失败
问题现象: Composer 安装依赖时超时或失败。
解决方案:
bash
# 切换国内镜像
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 报错。
解决方案:
bash
# 清除缓存
npm cache clean --force
# 使用淘宝镜像
npm config set registry https://registry.npmmirror.com
# 重新安装
rm -rf node_modules
npm installQ5: 跨域问题
问题现象: 前端调用 API 时出现跨域错误。
解决方案:
- 开发环境下,前端配置代理
- 或在后端配置跨域中间件
- 确保前后端使用相同的域名访问
