Skip to content

本地部署

目录


1. 功能说明

概述

本文档详细介绍如何在本地环境部署 Niucloud 系统,适用于开发调试和学习使用。

适用场景

  • 本地开发环境搭建
  • 功能测试
  • 学习研究

2. 设计思路

本地环境架构

┌─────────────────────────────────────────┐
│              浏览器访问                   │
│            http://localhost              │
└─────────────────┬───────────────────────┘

┌─────────────────▼───────────────────────┐
│           本地服务器 (WAMP/XAMPP)        │
│         Apache/Nginx + PHP + MySQL      │
└─────────────────┬───────────────────────┘

┌─────────────────▼───────────────────────┐
│           项目代码目录                   │
│      d:\phppro\niucloud-lite            │
└─────────────────────────────────────────┘

3. 部署流程

3.1 Windows 环境部署

使用 phpStudy(小皮面板)

  1. 下载安装 phpStudy

  2. 启动环境

    • 启动 Apache 或 Nginx
    • 启动 MySQL
    • 启动 Redis
  3. 创建网站

    • 点击「网站」→「创建网站」
    • 域名:niucloud.test(或 localhost)
    • 根目录:选择项目 backend/public 目录
    • PHP 版本:8.0
  4. 创建数据库

    • 点击「数据库」→「创建数据库」
    • 记录数据库名、用户名、密码
  5. 配置伪静态

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=6379

3.4 导入数据库

  1. 找到数据库文件

    • 路径:'doc\sql\niucloud_lite.sql`
  2. 导入方式

方法一:使用 phpStudy 面板导入

  • 点击「数据库」→「管理」
  • 选择对应的数据库
  • 点击「导入」→ 选择 niucloud_lite.sql 文件
  • 等待导入完成

方法二:使用命令行导入

bash
# 进入项目目录(根据实际路径)
cd d:\phppro\niucloud-lite

# 导入数据库
mysql -u root -p niucloud_lite < doc/sql/niucloud_lite.sql

3.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 dev

3.6 访问系统


4. 常见问题

Q1: 端口冲突

问题现象: 启动服务时提示端口被占用。

解决方案:

bash
# 查找占用端口的进程
netstat -ano | findstr :80

# 结束进程
taskkill /PID 进程ID /F

# 或修改 phpStudy 端口为 8080

Q2: 数据库连接失败

问题现象: 提示 Connection refusedAccess denied

解决方案:

  1. 确认 MySQL 服务已启动
  2. 检查 .env 中的数据库配置
  3. 确认数据库用户存在且有权限
  4. 尝试使用 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 install

Q4: 前端构建失败

问题现象: npm install 或 npm run dev 报错。

解决方案:

bash
# 清除缓存
npm cache clean --force

# 使用淘宝镜像
npm config set registry https://registry.npmmirror.com

# 重新安装
rm -rf node_modules
npm install

Q5: 跨域问题

问题现象: 前端调用 API 时出现跨域错误。

解决方案:

  1. 开发环境下,前端配置代理
  2. 或在后端配置跨域中间件
  3. 确保前后端使用相同的域名访问