在 Ubuntu 22.04 上部署 RuoYi 框架(一个基于 Spring Boot 的 Java 后端管理系统)需要配置相应的运行环境。以下是详细的环境配置步骤和所需组件:
✅ 一、基础环境准备
1. 安装 Java 环境(JDK)
RuoYi 是基于 Java 开发的,推荐使用 JDK 8 或 JDK 11。
# 更新包列表
sudo apt update
# 安装 OpenJDK 8(推荐用于 RuoYi)
sudo apt install openjdk-8-jdk -y
# 或者安装 JDK 11
# sudo apt install openjdk-11-jdk -y
# 验证安装
java -version
javac -version
⚠️ 注意:RuoYi 多数版本兼容 JDK 8,建议优先使用 JDK 8。
2. 设置 JAVA_HOME 环境变量
# 编辑 profile 文件
sudo nano /etc/profile
# 在文件末尾添加(根据实际路径调整)
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
# 保存后刷新环境变量
source /etc/profile
验证:
echo $JAVA_HOME
3. 安装并配置数据库(MySQL)
RuoYi 默认使用 MySQL 数据库。
(1)安装 MySQL 8.0
sudo apt install mysql-server mysql-client -y
(2)启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
(3)安全初始化(可选)
sudo mysql_secure_installation
(4)登录 MySQL 并创建数据库
mysql -u root -p
-- 创建数据库
CREATE DATABASE ruoyi CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 创建用户并授权(例如用户名: ruoyi, 密码: 123456)
CREATE USER 'ruoyi'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON ruoyi.* TO 'ruoyi'@'localhost';
FLUSH PRIVILEGES;
4. 导入 RuoYi 数据库脚本
从 RuoYi 项目中找到 SQL 文件(通常为 sql/ry_*.sql),导入到 ruoyi 数据库。
mysql -u ruoyi -p ruoyi < /path/to/ry_2023xxxx.sql
✅ 二、构建工具(Maven)
RuoYi 使用 Maven 构建项目。
sudo apt install maven -y
# 验证
mvn -version
✅ 三、前端环境(若使用前后端分离版)
如果你使用的是 RuoYi-Vue 版本(前后端分离),还需要安装 Node.js 和 NPM。
1. 安装 Node.js(推荐 v16/v18)
# 使用 Nodesource 添加仓库(以 Node.js 18 为例)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证
node -v
npm -v
2. 安装前端依赖并构建
cd ruoyi-ui
npm install
npm run build:prod # 打包生产环境
打包后生成的 dist/ 目录可用于部署到 Nginx。
✅ 四、部署方式选择
方式一:后端单独部署(Spring Boot 内嵌 Tomcat)
# 进入 ruoyi-admin 目录
cd ruoyi-admin
# 修改数据库连接配置
nano src/main/resources/application-druid.yml
# 打包项目
mvn clean package -Dmaven.test.skip=true
# 启动服务
nohup java -jar ruoyi-admin.jar > ruoyi.log 2>&1 &
方式二:配合 Nginx 前后端分离部署
-
将前端
dist/文件部署到 Nginx:sudo apt install nginx -y sudo cp -r dist/* /var/www/html/ -
配置 Nginx 反向X_X后端 API:
server { listen 80; server_name your-domain-or-ip; location / { root /var/www/html; index index.html; try_files $uri $uri/ /index.html; } location /prod-api/ { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } -
重启 Nginx:
sudo systemctl restart nginx
✅ 五、防火墙与端口开放
# 开放 HTTP (80), 后端 (8080) 等端口
sudo ufw allow 80/tcp
sudo ufw allow 8080/tcp
sudo ufw enable
✅ 六、可选:Redis(若启用缓存)
sudo apt install redis-server -y
sudo systemctl start redis
sudo systemctl enable redis
修改 application.yml 中 Redis 配置。
✅ 七、常见问题排查
| 问题 | 解决方案 |
|---|---|
java: command not found |
检查 JDK 是否安装,JAVA_HOME 是否设置正确 |
| 数据库连接失败 | 检查 MySQL 用户权限、密码、bind-address 是否允许本地连接 |
| 前端无法访问后端 API | 检查 Nginx X_X配置、CORS 跨域设置 |
| Maven 构建失败 | 检查网络、镜像源(可配置阿里云镜像) |
✅ 总结:所需核心组件清单
| 组件 | 版本建议 | 说明 |
|---|---|---|
| OS | Ubuntu 22.04 LTS | 推荐服务器版 |
| JDK | 8 或 11 | 必需 |
| MySQL | 5.7+ 或 8.0 | 存储数据 |
| Maven | 3.6+ | 构建项目 |
| Node.js (可选) | 16/18 | 前端构建 |
| Nginx (可选) | 最新版 | 静态资源 & 反向X_X |
| Redis (可选) | 6+ | 缓存支持 |
如你提供具体使用的 RuoYi 版本(如 RuoYi-Vue、RuoYi-Cloud),可进一步细化配置。
如有需要,我可以提供一键部署脚本或 Docker 部署方案。
秒懂云