在 Ubuntu 22.04 上部署 RuoYi 框架(特别是 RuoYi-Vue 或 RuoYi-Plus 等版本)需要配置相应的运行环境。RuoYi 是一个基于 Spring Boot + MyBatis 的 Java 后台管理系统,通常前后端分离部署。
以下是部署 RuoYi 所需的完整环境配置步骤和依赖项:
✅ 一、系统环境要求(Ubuntu 22.04)
1. 安装 Java(推荐 OpenJDK)
RuoYi 基于 Spring Boot,需要 JDK 8 或以上(推荐 JDK 11/17)。
# 更新包管理器
sudo apt update
# 安装 OpenJDK 11(推荐)
sudo apt install openjdk-11-jdk -y
# 验证安装
java -version
javac -version
⚠️ 注意:RuoYi 若使用 Spring Boot 3.x,则必须使用 JDK 17+;若为 2.x 版本,JDK 8 或 11 即可。
2. 设置 JAVA_HOME 环境变量
# 编辑 ~/.bashrc 或 /etc/environment
sudo nano ~/.bashrc
# 添加以下内容(根据实际路径调整)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
# 生效配置
source ~/.bashrc
# 验证
echo $JAVA_HOME
✅ 二、数据库环境(MySQL)
RuoYi 默认使用 MySQL 数据库。
1. 安装 MySQL 8.0
sudo apt install mysql-server mysql-client -y
# 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
2. 初始化 MySQL 安全设置
sudo mysql_secure_installation
3. 登录并创建数据库
mysql -u root -p
-- 创建数据库
CREATE DATABASE ruoyi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建用户并授权(可选)
CREATE USER 'ruoyi'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON ruoyi.* TO 'ruoyi'@'localhost';
FLUSH PRIVILEGES;
4. 导入 RuoYi SQL 脚本
从 RuoYi 项目中的 sql 目录找到 ry_*.sql 文件,导入:
mysql -u root -p ruoyi < /path/to/ry_2023xxxx.sql
✅ 三、后端服务部署(Spring Boot)
1. 构建项目(使用 Maven)
确保已安装 Maven:
sudo apt install maven -y
mvn -v # 验证
进入 RuoYi 后端项目目录(如 ruoyi-admin):
cd ruoyi-admin
mvn clean package -DskipTests
生成的 jar 包位于 target/ruoyi-admin.jar
2. 修改配置文件
编辑 src/main/resources/application.yml 或打包后外部配置:
spring:
datasource:
url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: ruoyi
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
3. 运行后端服务
nohup java -jar ruoyi-admin.jar > ruoyi.log 2>&1 &
# 或指定配置文件
nohup java -jar ruoyi-admin.jar --spring.config.location=application.yml > ruoyi.log &
默认端口:8080
访问:http://your-server-ip:8080
✅ 四、前端部署(Vue)
1. 安装 Node.js 和 npm
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v # v18.x 推荐
npm -v
2. 安装 Vue CLI(可选)
npm install -g @vue/cli
3. 构建前端项目
进入 ruoyi-ui 目录:
cd ruoyi-ui
npm install
npm run build:prod # 生成 dist 目录
4. 部署到 Nginx(推荐)
安装 Nginx:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
将 dist/* 复制到 Nginx 默认目录:
sudo rm -rf /var/www/html/*
sudo cp -r dist/* /var/www/html/
配置 Nginx 反向 API 请求:
# 编辑配置 /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;
}
# API 请求到后端
location /prod-api/ {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
✅ 五、防火墙配置(UFW)
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 8080/tcp # Spring Boot
sudo ufw allow 22/tcp # SSH
sudo ufw enable
sudo ufw status
✅ 六、可选:Redis(用于缓存、验证码等)
sudo apt install redis-server -y
sudo systemctl start redis
sudo systemctl enable redis
修改 application.yml 中 Redis 配置:
spring:
redis:
host: localhost
port: 6379
password:
✅ 七、启动顺序总结
- 启动 MySQL
- 启动 Redis(如有)
- 启动后端 Spring Boot 应用
- 构建并部署前端(或重启 Nginx)
✅ 访问系统
- 前端地址:
http://your-server-ip - 后端接口:
http://your-server-ip/prod-api/xxx - 默认账号:
admin/admin123
📌 注意事项
- 确保时区一致(建议设置为
Asia/Shanghai) - 生产环境建议使用 HTTPS(可用 Let’s Encrypt + Nginx)
- 使用 PM2 或 systemd 管理前端或后端进程更稳定
- 定期备份数据库和代码
如果你使用的是 RuoYi-Cloud(微服务版),还需要部署 Nacos、Gateway、Redis、RabbitMQ 等组件。
如提供你使用的具体 RuoYi 版本(如 RuoYi-Vue、RuoYi-Plus、RuoYi-Cloud),我可以给出更精确的配置建议。
CLOUD技术博