程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 若依框架
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 若依框架
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入门

    • 若依-快速入门
    • 若依-环境部署
      • 一、环境准备
      • 二、系统运行
        • 1. 获取项目源代码
        • 2. 后端项目运行
        • 2.1 导入项目到 Eclipse
        • 2.2 配置数据库
        • 2.3 启动后端应用
        • 3. 前端项目运行
        • 3.1 进入前端项目目录
        • 3.2 安装依赖
        • 3.3 启动前端应用
      • 三、必要配置
        • 1. 数据库连接配置
        • 2. 服务器配置
      • 四、系统部署
        • 1. 后端部署
        • 1.1 打包项目
        • 1.2 部署方式
        • 2. 前端部署
        • 3. Nginx 配置
      • 五、常见问题与解决方案
        • 1. 数据库表不存在或大小写敏感问题
        • 2. 权限不足,无法写入文件
    • 若依-项目介绍
  • 后端手册

  • 前端手册

  • 组件文档

  • 数据库分析

  • 若依框架
  • 快速入门
scholar
2024-08-31
目录

若依-环境部署

# 若依-环境部署

# 一、环境准备

在开始部署若依框架之前,你需要确保以下环境已经配置好:

  • JDK >= 1.8(推荐使用 1.8 版本):Java 开发环境,建议配置 JAVA_HOME 环境变量。
  • MySQL >= 5.7.0(推荐使用 5.7 版本):用于数据存储的关系型数据库。
  • Redis >= 3.0:缓存和消息队列服务,若依使用它来管理缓存和分布式锁。
  • Maven >= 3.0:用于管理 Java 项目的构建工具。
  • Node >= 12:用于前端构建和开发环境的 JavaScript 运行时。

提示:安装完 Node.js 后,建议配置淘宝镜像源以加快依赖安装速度,避免使用 cnpm,因为 cnpm 可能会引起一些不稳定的问题。

# 二、系统运行

# 1. 获取项目源代码

你可以通过 Gitee 克隆若依项目代码:

git clone https://gitee.com/y_project/RuoYi-Vue.git
1

也可以直接下载并解压到工作目录。

# 2. 后端项目运行

# 2.1 导入项目到 Eclipse

  1. 打开 Eclipse,选择菜单 File -> Import。
  2. 在导入向导中选择 Maven -> Existing Maven Projects,然后点击 Next>。
  3. 在 Root Directory 中选择下载或克隆后的若依项目路径。
  4. 点击 Finish 完成导入。

提示:Eclipse 会自动加载 Maven 依赖包,初次加载可能较慢,具体取决于你的网络情况。

# 2.2 配置数据库

  1. 创建数据库:在 MySQL 中创建名为 ry-vue 的数据库。
  2. 导入数据脚本:执行 sql 目录下的 ry_2021xxxx.sql 和 quartz.sql 文件,初始化数据库表结构和数据。

# 2.3 启动后端应用

找到 com.ruoyi.RuoYiApplication 类,右键选择 Run As -> Java Application 运行后端服务。

启动成功后,你将在控制台看到以下日志输出:

(♥◠‿◠)ノ゙  若依启动成功   ლ(´ڡ`ლ)゙  
1

提示:后端启动成功后,可以通过 http://localhost:8080 访问 API 服务,但不会直接展示前端页面。要访问前端页面,需继续以下步骤。

# 3. 前端项目运行

# 3.1 进入前端项目目录

在命令行中进入 ruoyi-ui 目录:

cd ruoyi-ui
1

# 3.2 安装依赖

运行以下命令安装前端依赖:

npm install --registry=https://registry.npmmirror.com
1

提示:强烈建议使用淘宝镜像源 https://registry.npmmirror.com 以加快依赖下载速度。避免使用 cnpm,因为可能会引发一些无法预料的错误。

# 3.3 启动前端应用

安装完成后,运行以下命令启动前端项目:

npm run dev
1

前端启动成功后,打开浏览器访问 http://localhost:80,使用默认账号 admin 和密码 admin123 登录。如果页面展示正常,说明环境搭建成功。

# 三、必要配置

若依的配置主要分为数据库配置和服务器配置。

# 1. 数据库连接配置

编辑 resources 目录下的 application-druid.yml 文件,修改数据库连接信息:

spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源配置
            master:
                url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&useSSL=false
                username: root
                password: 你的数据库密码
1
2
3
4
5
6
7
8
9
10

# 2. 服务器配置

编辑 resources 目录下的 application.yml 文件,修改服务器端口和上下文路径:

server:
  # 服务器的HTTP端口,默认为80
  port: 端口号
  servlet:
    # 应用的访问路径
    context-path: /应用路径
1
2
3
4
5
6

# 四、系统部署

若依系统可以通过多种方式部署,下面介绍常用的 jar 和 war 部署方法。

# 1. 后端部署

# 1.1 打包项目

进入若依项目的 bin 目录,执行以下命令打包项目:

package.bat
1

打包成功后,会在 target 目录下生成 jar 或 war 文件。

提示:多模块版本的打包文件会生成在 ruoyi-admin 模块下的 target 目录。

# 1.2 部署方式

  1. jar 部署:

    使用命令行执行以下命令部署:

    java -jar ruoyi.jar
    
    1

    或者运行 ruoyi/bin/run.bat 脚本。

  2. war 部署:

    修改 ruoyi/pom.xml 中的 packaging 为 war:

    <packaging>war</packaging>
    
    1

    将生成的 war 包放入 Tomcat 服务器的 webapps 目录下。

提示:如果你不需要内嵌 Tomcat,可以在 pom.xml 中排除相关依赖。

# 2. 前端部署

当项目开发完毕后,可以通过以下命令打包前端项目:

npm run build:prod  # 打包正式环境
npm run build:stage # 打包预发布环境
1
2

构建成功后,打包文件会生成在 dist 目录下。通常情况下,你只需将 dist 目录下的静态文件发布到 Nginx 或其他静态服务器中。

# 3. Nginx 配置

以下是 Nginx 的基本配置示例:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
		charset utf-8;

		location / {
            root   /home/ruoyi/projects/ruoyi-ui;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		
		location /prod-api/ {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://localhost:8080/;
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

提示:建议开启 Gzip 压缩,以提高静态资源加载速度。

# 五、常见问题与解决方案

# 1. 数据库表不存在或大小写敏感问题

  • 解决方案:在 my.cnf 中设置 lower_case_table_names=1,然后重启 MySQL 服务。

# 2. 权限不足,无法写入文件

  • 解决方案:检查 application.yml 中的 profile 路径,确保有读写权限。
编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
若依-快速入门
若依-项目介绍

← 若依-快速入门 若依-项目介绍→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式