在 Ubuntu 22.04 上部署 RuoYi 框架(若依框架)需要根据你使用的版本(如 RuoYi-Vue、RuoYi-Cloud 等)配置相应的运行环境。以下是通用的部署所需环境配置,以最常见的 RuoYi-Vue 前后端分离版 为例:
✅ 一、基础环境准备
1. Java 环境(JDK)
RuoYi 后端基于 Spring Boot,需要 JDK 8 或以上(推荐 JDK 8 或 11)
# 安装 OpenJDK 11(推荐)
sudo apt update
sudo apt install openjdk-11-jdk -y
# 验证安装
java -version
javac -version
⚠️ 注意:部分旧版 RuoYi 可能要求 JDK 8,可根据项目
pom.xml中的<java.version>判断。
2. Maven(用于构建项目)
sudo apt install maven -y
# 验证
mvn -v
3. Node.js 和 npm(前端构建需要)
前端使用 Vue,需 Node.js 环境(建议 v16+)
# 添加 NodeSource 仓库(Node.js 16)
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
# 验证
node -v # 应输出 v16.x
npm -v
💡 若使用更高版本(如 Node.js 18),请确保前端项目兼容。
4. MySQL 数据库(5.7 或 8.0)
sudo apt install mysql-server mysql-client -y
# 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
# 运行安全初始化(设置 root 密码等)
sudo mysql_secure_installation
创建 RuoYi 所需数据库:
CREATE DATABASE ruoyi DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
导入 sql/ry_*.sql 文件(通常包含 quartz 调度表等)。
5. Redis(可选,用于缓存、登录会话等)
sudo apt install redis-server -y
# 启动并启用
sudo systemctl start redis-server
sudo systemctl enable redis-server
6. Nginx(前端部署反向)
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
用于前端页面和后端 API 请求。
✅ 二、部署步骤概览
1. 获取源码
git clone https://gitee.com/y_project/RuoYi.git
cd RuoYi
2. 修改后端配置文件
编辑 ruoyi-admin/src/main/resources/application.yml,修改数据库、Redis连接信息:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: your_password
redis:
host: localhost
port: 6379
database: 0
3. 构建后端
mvn clean package -DskipTests
生成的 jar 包位于 ruoyi-admin/target/ruoyi-admin.jar
4. 运行后端服务
nohup java -jar ruoyi-admin.jar > ruoyi.log 2>&1 &
默认端口:8080
5. 构建并部署前端
进入前端目录(假设是 ruoyi-ui):
cd ruoyi-ui
npm install
npm run build:prod
构建完成后,将 dist/ 目录内容复制到 Nginx 默认路径:
sudo cp -r dist/* /var/www/html/
6. 配置 Nginx 反向
编辑 /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;
}
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
✅ 三、开放防火墙端口
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 8080/tcp # 后端服务(可选,或通过Nginx)
sudo ufw enable
✅ 四、访问系统
浏览器访问:
http://your-ubuntu-ip/
默认账号:
- 用户名:admin
- 密码:admin123
✅ 五、可选优化
| 组件 | 建议 |
|---|---|
| JDK | 使用 Oracle JDK 或 OpenJDK 11 更稳定 |
| 数据库 | 建议使用 MySQL 8.0 并配置 UTF8MB4 |
| JVM 参数 | 生产环境添加 -Xms512m -Xmx1024m 等参数 |
| 守护进程 | 使用 systemd 或 supervisor 管理 Java 进程 |
| HTTPS | 使用 Let’s Encrypt + Nginx 配置 SSL |
✅ 六、常见问题排查
- 数据库连接失败:检查 MySQL 是否允许本地连接,用户权限。
- 前端白屏:检查 Nginx 是否正确
/prod-api到后端。 - 登录失败:确认 Redis 是否运行,缓存是否正常。
- Maven 编译错误:网络问题可配置阿里云镜像(
~/.m2/settings.xml)。
总结:所需核心组件清单
| 软件 | 版本要求 | 用途 |
|---|---|---|
| OpenJDK | 8 或 11 | 运行 Spring Boot |
| Maven | 3.6+ | 构建后端 |
| Node.js | 16+ | 构建前端 Vue |
| MySQL | 5.7 或 8.0 | 存储业务数据 |
| Redis | 6.0+ | 缓存、会话管理 |
| Nginx | 最新版 | 前端静态资源与 |
| Git | 任意 | 下载源码 |
如你使用的是 RuoYi-Cloud(微服务版),还需部署 Nacos、Gateway、Sentinel 等组件,可另行说明,我可提供详细部署方案。
需要我提供一键部署脚本或 systemd 服务配置示例吗?
云计算