在 Ubuntu 22.04 上部署 RuoYi 框架(若依框架)需要配置相应的运行环境。RuoYi 是一个基于 Java 的开源后台管理系统,常见版本包括:
- RuoYi-Vue(前后端分离版)
- RuoYi(单体版,前后端不分离)
以下以 RuoYi-Vue 前后端分离版 为例,说明部署所需的环境和步骤。
✅ 一、基础环境要求
1. Java 环境(JDK)
RuoYi 后端基于 Spring Boot,需 JDK 8 或以上(推荐 JDK 8 或 JDK 11)
sudo apt update
sudo apt install openjdk-11-jdk -y
验证安装:
java -version
javac -version
设置 JAVA_HOME(可选但推荐):
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
2. Maven(构建 Java 项目)
sudo apt install maven -y
验证:
mvn -v
3. 数据库:MySQL 5.7+ 或 MySQL 8.0
安装 MySQL:
sudo apt install mysql-server -y
启动并设置开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql
安全初始化(设置 root 密码等):
sudo mysql_secure_installation
登录 MySQL 创建 RuoYi 所需数据库:
CREATE DATABASE ruoyi DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 授权用户(示例使用 ruoyi/123456)
CREATE USER 'ruoyi'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON ruoyi.* TO 'ruoyi'@'localhost';
FLUSH PRIVILEGES;
导入 SQL 脚本(从 RuoYi 项目中的 sql/ry_*.sql 文件导入):
mysql -u ruoyi -p ruoyi < /path/to/ruoyi/sql/ry_2023xxxx.sql
4. Redis(用于缓存、验证码等)
sudo apt install redis-server -y
启动并启用:
sudo systemctl start redis-server
sudo systemctl enable redis-server
验证:
redis-cli ping # 返回 PONG 表示正常
5. Node.js + Nginx(前端部署)
安装 Node.js(建议 v16 或 v18)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
验证:
node -v # 推荐 >= v16
npm -v
构建前端(RuoYi-Vue)
进入前端目录:
cd ruoyi-ui
npm install
npm run build:prod
生成的静态文件在 dist/ 目录。
安装 Nginx(反向X_X前端)
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
配置 Nginx(示例 /etc/nginx/sites-available/ruoyi):
server {
listen 80;
server_name your-domain-or-ip;
location / {
root /var/www/ruoyi-ui/dist;
try_files $uri $uri/ /index.html;
index index.html;
}
# 后端接口X_X
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
启用站点:
sudo ln -s /etc/nginx/sites-available/ruoyi /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置
sudo systemctl reload nginx
将前端 dist 文件复制到 Nginx 目录:
sudo mkdir -p /var/www/ruoyi-ui
sudo cp -r dist/* /var/www/ruoyi-ui/dist/
6. 后端部署(Spring Boot)
打包后端
cd ruoyi
mvn clean package -DskipTests
运行 jar 包:
nohup java -jar ruoyi-admin/target/ruoyi-admin.jar > ruoyi.log 2>&1 &
或使用 systemd 管理(推荐生产环境):
创建服务文件 /etc/systemd/system/ruoyi.service:
[Unit]
Description=RuoYi Admin Service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/java -jar /root/ruoyi/ruoyi-admin/target/ruoyi-admin.jar
Restart=always
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reexec
sudo systemctl enable ruoyi
sudo systemctl start ruoyi
sudo systemctl status ruoyi
✅ 二、防火墙配置(UFW)
sudo ufw allow 80 # HTTP
sudo ufw allow 8080 # Spring Boot 默认端口(或改用其他)
sudo ufw enable
✅ 三、修改配置文件
确保 ruoyi-admin/src/main/resources/application.yml 中数据库、Redis 配置正确:
spring:
datasource:
url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: ruoyi
password: 123456
redis:
host: localhost
port: 6379
database: 0
✅ 四、访问系统
- 前端:
http://your-server-ip/ - 默认账号:
admin - 默认密码:
admin123
✅ 可选优化
- 使用 Nginx + HTTPS(Let’s Encrypt)
- 使用 PM2 管理 Node 进程(非必须)
- 使用 Docker 部署(更便捷)
✅ 总结:所需环境清单
| 组件 | 版本要求 | 安装方式 |
|---|---|---|
| Ubuntu | 22.04 LTS | 已安装 |
| OpenJDK | 8 / 11 | apt install |
| Maven | 3.6+ | apt install |
| MySQL | 5.7+ 或 8.0 | apt install |
| Redis | 6.0+ | apt install |
| Node.js | 16 / 18 | Nodesource 源 |
| Nginx | 最新版 | apt install |
如你使用的是 RuoYi 单体版,则前端集成在后端中,无需单独部署 Nginx 和构建前端,只需打包成 WAR/JAR 并运行即可。
如有具体版本(如 RuoYi 4.7.7),可提供更精确配置建议。
需要我提供一键部署脚本或 Docker 部署方案吗?
轻量云Cloud