# 环境部署
# 准备工作
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 12
nacos >= 2.0.4 (ruoyi-cloud < 3.0 需要下载nacos >= 1.4.x版本)
sentinel >= 1.6.0
2
3
4
5
6
7
# 运行系统
# 后端运行
1、前往Gitee
下载页面(https://gitee.com/y_project/RuoYi-Cloud (opens new window))下载解压到工作目录
2、导入到Eclipse
,菜单 File
-> Import
,然后选择 Maven
-> Existing Maven Projects
,点击 Next
> 按钮,选择工作目录,然后点击 Finish
按钮,即可成功导入。
Eclipse
会自动加载Maven
依赖包,初次加载会比较慢(根据自身网络情况而定)
3、创建数据库ry-cloud
并导入数据脚本ry_2021xxxx.sql
(必须),quartz.sql(可选)
4、创建数据库ry-config
并导入数据脚本ry_config_2021xxxx.sql
(必须)
5、配置nacos
持久化,修改conf/application.properties
文件,增加支持mysql
数据源配置
# db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password
2
3
4
5
6
提示
配置文件application.properties
是在下载的nacos-server
包conf
目录下。
最新RuoYi-Cloud
版本>=3.0.0
需要下载的nacos-server
必须>=2.x.x
版本。
默认配置单机模式,nacos
集群/多集群部署模式参考 (Nacos支持三种部署模式 (opens new window))
6、打开运行基础模块(启动没有先后顺序)
- RuoYiGatewayApplication (网关模块 必须)
- RuoYiAuthApplication (认证模块 必须)
- RuoYiSystemApplication (系统模块 必须)
- RuoYiMonitorApplication (监控中心 可选)
- RuoYiGenApplication (代码生成 可选)
- RuoYiJobApplication (定时任务 可选)
- RuoYFileApplication (文件服务 可选)
7、集成seata
分布式事务(可选配置,默认不启用)
创建数据库ry-seata
并导入数据脚本ry_seata_2021xxxx.sql
提示
运行前需要先启动nacos
,运行成功可以通过(http://localhost:8080 (opens new window))访问,但是不会出现静态页面,可以继续参考下面步骤部署ruoyi-ui
前端,然后通过前端地址来访问。
# 前端运行
# 进入项目目录
cd ruoyi-ui
# 安装依赖
npm install
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com
# 本地开发 启动项目
npm run dev
2
3
4
5
6
7
8
9
10
11
4、打开浏览器,输入:(http://localhost:80 (opens new window)) 默认账户/密码 admin/admin123
)
若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功
建议使用Git
克隆,因为克隆的方式可以和RuoYi
随时保持更新同步。使用Git
命令克隆
git clone https://gitee.com/y_project/RuoYi-Cloud.git
提示
因为本项目是前后端完全分离的,所以需要前后端都单独启动好,才能进行访问。
前端安装完node后,最好设置下淘宝的镜像源,不建议使用cnpm(可能会出现奇怪的问题)
# 部署系统
提示
因为本项目是前后端分离的,所以需要前后端都部署好,才能进行访问
# 后端部署
- 打包工程文件
在ruoyi
项目的bin
目录下执行package.bat
打包Web工程,生成war/jar包文件。
然后会在项目下生成target
文件夹包含war
或jar
提示
不同模块版本会生成在ruoyi/ruoyi-xxxx
模块下target
文件夹
- 部署工程文件
1、jar部署方式
使用命令行执行:java –jar ruoyi-xxxx.jar
或者执行脚本:ruoyi/bin/run-xxxx.bat
2、war部署方式
ruoyi/pom.xml
中的packaging
修改为war
,放入tomcat
服务器webapps
<packaging>war</packaging>
提示
不同模块版本在ruoyi/ruoyi-xxxx
模块下修改pom.xml
SpringBoot
去除内嵌Tomcat
(PS:此步骤不重要,因为不排除也能在容器中部署war
)
<!-- 排除内置tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
2
3
4
5
6
7
8
9
10
11
# 前端部署
当项目开发完毕,只需要运行一行命令就可以打包你的应用
# 打包正式环境
npm run build:prod
# 打包预发布环境
npm run build:stage
2
3
4
5
构建打包成功之后,会在根目录生成 dist
文件夹,里面就是构建打包好的文件,通常是 ***.js
、***.css
、index.html
等静态文件。
通常情况下 dist
文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html
是后台服务的入口页面。
outputDir 提示
如果需要自定义构建,比如指定 dist
目录等,则需要通过 config (opens new window)的 outputDir
进行配置。
publicPath 提示
部署时改变页面js 和 css 静态引入路径 ,只需修改 vue.config.js
文件资源路径即可。
publicPath: './' //请根据自己路径来配置更改
export default new Router({
mode: 'hash', // hash模式
})
2
3
# 环境变量
# 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;
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/;
}
# 避免actuator暴露
if ($request_uri ~ "/actuator") {
return 403;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
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
38
39
40
41
# Tomcat配置
# 常见问题
- 如果使用
Mac
需要修改nacos
配置ruoyi-file-dev.yml
文件路径path
- 如果使用
Linux
提示表不存在,设置大小写敏感配置在/etc/my.cnf
添加lower_case_table_names=1
,重启MYSQL服务 - 如果提示当前权限不足,无法写入文件请检查
ruoyi-file-dev.yml
中的path
路径或logback.xml
中的log.path
路径是否有可读可写操作权限
如遇到无法解决的问题请到Issues (opens new window)反馈,会不定时进行解答。