将若依(RuoYi)管理系统部署到生产服务器,通常需要根据你选择的版本(单体版 ruoyi-vue 或前后端分离版 ruoyi-cloud)以及服务器操作系统进行配置。以下以最常见的 Linux (CentOS/Ubuntu) + JDK + MySQL + Redis + Nginx 环境为例,梳理核心配置清单和关键步骤。
1. 基础运行环境依赖
这是系统运行的基石,必须首先安装并配置好。
- JDK:
- 版本要求:若依 V4/V5 版本推荐 JDK 1.8(部分新版本支持 JDK 17,需查看具体文档)。
- 配置:设置环境变量
JAVA_HOME和PATH。 - 验证:执行
java -version确认无误。
- 数据库 (MySQL):
- 版本要求:推荐 MySQL 5.7 或 MySQL 8.0。
- 字符集:务必设置为
utf8mb4,否则中文可能乱码。 - 初始化:导入若依提供的 SQL 文件(通常在
sql目录下),包括ry_2023.sql等基础表结构。
- 缓存中间件 (Redis):
- 版本要求:推荐 Redis 5.0+。
- 用途:存储验证码、Token、字典缓存等。
- 注意:生产环境建议开启密码验证,并在
redis.conf中调整maxmemory策略。
- Nginx (前端服务):
- 用途:作为反向X_X服务器,处理静态资源请求并将 API 请求转发给后端。
- 配置:需要配置
upstream指向后端 Java 服务的端口(默认 8080)。
2. 项目构建与打包配置
在本地开发机或服务器上编译项目前,需要修改配置文件以适配生产环境。
A. 修改后端配置文件 (application.yml)
进入 ruoyi-admin 模块的 src/main/resources 目录,修改 application-prod.yml(或直接在 application.yml 中覆盖配置):
spring:
datasource:
# 修改为生产环境的数据库地址、用户名、密码
url: jdbc:mysql://192.168.x.x:3306/ry_system?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: your_password
redis:
# 修改为生产环境的 Redis 地址
host: 192.168.x.x
port: 6379
password: your_redis_password
# 若依特有的配置
ruoyi:
# 验证码开关,生产环境建议关闭或限制频率
captchaEnabled: false
# 文件上传路径,生产环境建议挂载云存储(如阿里云 OSS)或配置绝对路径
profile: /var/www/ruoyi/uploadPath
# 服务器地址(用于生成下载链接等)
server:
ip: 192.168.x.x
B. 修改前端配置文件 (vue.config.js 或 .env.production)
若依 Vue 项目通常在根目录下的 vue.config.js 或 .env.production 中配置:
// vue.config.js
module.exports = {
// 生产环境构建路径
outputDir: 'dist',
// 静态资源路径
publicPath: '/',
// X_X配置(如果是直接部署 Nginx,这里可以简化,主要看 Nginx 配置)
devServer: { ... },
// 关键点:确保 assets 目录能正确访问
};
注意:若是前后端分离部署,前端打包后只需将 dist 目录内容放入 Nginx 的 html 目录即可,无需修改复杂的X_X逻辑,由 Nginx 统一处理。
3. Nginx 反向X_X配置
这是连接前后端的关键环节。假设后端运行在 localhost:8080,Nginx 监听 80 端口。
编辑 /etc/nginx/nginx.conf 或新建 /etc/nginx/conf.d/ruoyi.conf:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或 IP
# 前端静态资源
location / {
root /usr/share/nginx/html; # 指向前端 dist 目录
index index.html index.htm;
try_files $uri $uri/ /index.html; # 解决 Vue 路由刷新 404 问题
}
# 后端 API 接口转发
location /sys {
proxy_pass http://127.0.0.1:8080; # 转发到 SpringBoot 端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 如果涉及文件上传,可能需要调整 body 大小
client_max_body_size 100m;
}
# 其他接口转发,根据实际配置调整
}
4. 启动脚本与权限管理
为了方便运维,建议编写简单的 Shell 脚本进行启动和日志管理。
- 创建用户:不要使用 root 直接运行,建议创建专用用户
ruoyi。 - 目录规划:
mkdir -p /opt/ruoyi/{bin,logs,upload,config} - 启动命令示例 (
start.sh):#!/bin/bash cd /opt/ruoyi/bin nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod > /opt/ruoyi/logs/start.log 2>&1 & echo "RuoYi Admin started." - 防火墙与安全组:
- 开放 80 端口(Web 访问)。
- 开放 8080 端口(仅限内网或特定 IP 访问,生产环境不建议对公网直接开放 8080)。
- 开放 22 端口(SSH)。
5. 特殊注意事项
- Docker 部署:如果你选择 Docker 方式,需要准备好
docker-compose.yml,定义mysql,redis,java-app,nginx四个服务及其网络依赖,配置更加自动化。 - 多租户/集群:若依 Cloud 版本是微服务架构,需要额外配置注册中心(Nacos)、网关(Gateway)以及各个微服务的独立配置,复杂度较高。
- 定时任务:检查
application.yml中的job.enabled是否开启,并确保服务器时间同步。 - 安全加固:
- 修改默认的
admin账号密码。 - 配置 HTTPS(通过 Nginx 申请 SSL 证书)。
- 定期备份数据库。
- 修改默认的
总结
部署若依的核心流程是:安装环境 (JDK/MySQL/Redis) -> 配置数据库与代码参数 -> 打包项目 (Maven/NPM) -> 配置 Nginx 反向X_X -> 启动服务。
建议在正式部署前,先在测试环境中完整走一遍流程,特别是跨域配置和文件上传路径映射,这两处最容易在生产环境报错。
CLOUD云计算