在 Ubuntu 22.04 上部署 RuoYi 框架(特别是 RuoYi-Vue 或 RuoYi-Plus 等常见版本)需要配置以下环境和依赖。以下是详细的部署准备步骤:
✅ 一、基础环境要求
RuoYi 是基于 Spring Boot + MyBatis 的 Java 后端框架,前端使用 Vue.js,因此需要如下环境:
1. Java 环境(JDK)
- 推荐版本:JDK 8 或 JDK 11
- 官方推荐为 JDK 8
# 查看是否已安装
java -version
# 安装 OpenJDK 8(推荐)
sudo apt update
sudo apt install openjdk-8-jdk -y
# 或者安装 JDK 11
sudo apt install openjdk-11-jdk -y
⚠️ 注意:设置
JAVA_HOME
环境变量。
# 编辑环境变量
sudo nano /etc/environment
# 添加(根据实际路径调整)
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
# 重新加载环境
source /etc/environment
echo $JAVA_HOME
2. Maven 构建工具
RuoYi 使用 Maven 进行项目构建。
# 安装 Maven
sudo apt install maven -y
# 验证
mvn -v
3. 数据库:MySQL
RuoYi 默认使用 MySQL 5.7+ 或 MySQL 8.0。
# 安装 MySQL 8.0
sudo apt install mysql-server mysql-client -y
# 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
初始化数据库:
-- 登录 MySQL
sudo mysql -u root -p
-- 创建数据库(以 ruoyi 为例)
CREATE DATABASE ruoyi CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 创建用户并授权(可选)
CREATE USER 'ruoyi'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON ruoyi.* TO 'ruoyi'@'localhost';
FLUSH PRIVILEGES;
导入 SQL 脚本:
- 找到 RuoYi 项目中的
sql/ry_*.sql
文件,导入到数据库。 - 可使用命令行或客户端工具(如 DBeaver、Navicat)导入。
4. Redis(可选但推荐)
RuoYi 使用 Redis 做缓存(如登录 token、权限缓存等)。
# 安装 Redis
sudo apt install redis-server -y
# 启动并启用
sudo systemctl start redis-server
sudo systemctl enable redis-server
# 检查状态
sudo systemctl status redis-server
5. Node.js(前端所需)
如果你要自行构建前端(RuoYi-Vue),需要 Node.js。
# 安装 Node.js(推荐 v16 或 v18)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证
node -v
npm -v
✅ 二、部署方式选择
方式一:后端打包成 JAR 部署(Spring Boot)
-
克隆或上传 RuoYi 后端代码:
git clone https://gitee.com/y_project/RuoYi.git cd RuoYi
-
修改数据库配置:
- 文件路径:
src/main/resources/application-druid.yml
- 修改数据库连接地址、用户名、密码。
- 文件路径:
-
打包项目:
mvn clean package -Dmaven.test.skip=true
-
启动服务:
nohup java -jar ruoyi-admin.jar > ruoyi.log 2>&1 &
-
访问:
http://服务器IP:8080
默认账号:admin
/admin123
方式二:前端部署(Vue)
-
进入前端目录(如
ruoyi-ui
):cd ruoyi-ui
-
安装依赖并构建:
npm install npm run build:prod
-
使用 Nginx 托管静态文件:
安装 Nginx:
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx
将
dist/
目录下的文件复制到 Nginx 默认路径:sudo cp -r dist/* /var/www/html/
配置 Nginx 反向X_X(修改
/etc/nginx/sites-available/default
):server { listen 80; server_name your_domain_or_ip; location / { root /var/www/html; try_files $uri $uri/ /index.html; index index.html; } # X_X后端 API location /prod-api/ { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
重启 Nginx:
sudo nginx -t sudo systemctl restart nginx
✅ 三、防火墙与端口开放
确保以下端口开放:
端口 | 用途 |
---|---|
80 | 前端访问(HTTP) |
443 | HTTPS(可选) |
8080 | 后端 Spring Boot 服务 |
3306 | MySQL(建议内网或关闭远程访问) |
6379 | Redis(建议限制访问) |
# 开放端口(使用 ufw)
sudo ufw allow 80
sudo ufw allow 8080
sudo ufw enable
✅ 四、安全建议
- 不要暴露 MySQL 和 Redis 到公网
- 修改默认账号密码(尤其是 admin/admin123)
- 使用 Nginx 配置 HTTPS(Let’s Encrypt)
- 定期备份数据库和代码
✅ 五、常见问题排查
ClassNotFoundException
:检查 JDK 版本是否匹配- 数据库连接失败:检查
application-druid.yml
和 MySQL 用户权限 - 前端空白页:检查 Nginx 静态资源路径和
router mode
是否为 history 模式 - Redis 连接失败:检查
redis.conf
是否绑定127.0.0.1
,是否允许远程连接(不推荐)
✅ 总结:所需软件清单
软件 | 版本要求 | 安装命令 |
---|---|---|
JDK | 8 或 11 | apt install openjdk-8-jdk |
Maven | 3.6+ | apt install maven |
MySQL | 5.7 / 8.0 | apt install mysql-server |
Redis | 6.0+ | apt install redis-server |
Node.js | 16 / 18 | 通过 nodesource 安装 |
Nginx | 任意 | apt install nginx |
如有使用 RuoYi-Cloud(微服务版),还需部署 Nacos、Gateway、Redis、RabbitMQ 等组件,可进一步说明。
需要我提供一键部署脚本或 Docker 部署方案吗?