当前位置:首页 > 系统教程 > 正文

RuoYi前后端分离项目Linux部署全指南 (从零开始搭建生产环境,基于CentOS 7)

RuoYi前后端分离项目Linux部署全指南 (从零开始搭建生产环境,基于CentOS 7)

本文将详细讲解如何将RuoYi前后端分离项目部署到Linux服务器上,涵盖环境安装、后端打包、前端构建、配置修改、服务启动等全流程,即使是Linux部署Java项目的新手也能轻松跟随。

RuoYi前后端分离项目Linux部署全指南 (从零开始搭建生产环境,基于CentOS 7) RuoYi部署 Linux部署Java项目 前后端分离项目部署 Spring Boot项目部署 第1张

1. 环境准备 (必备软件安装)

在Linux服务器上部署RuoYi前后端分离项目,首先需要安装以下环境:

  • JDK 1.8+ —— 运行后端Spring Boot应用
  • MySQL 5.7+ —— 关系型数据库
  • Redis —— 缓存中间件
  • Nginx —— 前端静态资源服务器及反向代理
  • Node.js + npm —— 前端项目构建(可本地构建后上传)
  • Maven —— 后端项目打包(可本地打包后上传)

安装命令示例(CentOS 7):

# 安装JDK 1.8yum install -y java-1.8.0-openjdk-devel# 安装MySQL (以5.7为例)rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpmyum install -y mysql-community-server# 安装Redisyum install -y epel-releaseyum install -y redis# 安装Nginxyum install -y nginx# 安装Node.js (使用nodesource)curl -sL https://rpm.nodesource.com/setup_14.x | bash -yum install -y nodejs# 安装Mavenwget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gztar -zxf apache-maven-3.8.8-bin.tar.gz -C /usr/local/ln -s /usr/local/apache-maven-3.8.8/bin/mvn /usr/bin/mvn

安装完成后,请确保各服务已启动(MySQL、Redis、Nginx)。

2. 后端打包与部署

RuoYi后端基于Spring Boot,使用Maven进行构建。你可以选择在本地打包后上传JAR包,或者在服务器上直接打包(需安装Maven)。

2.1 修改配置文件

在打包前,需要根据生产环境修改application-druid.ymlapplication.yml中的数据库连接、Redis连接等信息。

# 数据库配置示例spring:  datasource:    url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8    username: root    password: YourPassword  redis:    host: localhost    port: 6379    password:     database: 0

2.2 使用Maven打包

# 在项目根目录执行mvn clean package -Dmaven.test.skip=true# 打包后的JAR文件位于 ruoyi-admin/target/ruoyi-admin.jar

2.3 上传JAR并启动

将JAR上传到服务器(例如/opt/ruoyi/),然后使用java -jar启动。推荐使用systemd管理服务。

# 创建systemd服务文件 /etc/systemd/system/ruoyi.service[Unit]Description=RuoYi ServerAfter=network.target mysql.service redis.service[Service]User=rootWorkingDirectory=/opt/ruoyiExecStart=/usr/bin/java -jar /opt/ruoyi/ruoyi-admin.jarSuccessExitStatus=143Restart=alwaysRestartSec=10[Install]WantedBy=multi-user.target# 重新加载配置,启动服务systemctl daemon-reloadsystemctl start ruoyisystemctl enable ruoyi

3. 前端打包与部署

RuoYi前端基于Vue/Element UI,使用npm构建。

3.1 修改后端API地址

编辑.env.production文件,设置VUE_APP_BASE_API为后端实际访问地址(例如http://your-server-ip:8080)。

3.2 构建前端项目

# 安装依赖npm install# 构建生产包npm run build:prod# 构建完成后会在 dist 目录生成静态文件

3.3 部署到Nginx

将dist目录下的所有文件上传到Nginx的html目录(如/usr/share/nginx/html/ruoyi)。配置Nginx反向代理后端接口。

# 编辑 /etc/nginx/conf.d/ruoyi.confserver {    listen       80;    server_name  your_domain_or_ip;    location / {        root   /usr/share/nginx/html/ruoyi;        index  index.html index.htm;        try_files $uri $uri/ /index.html;    }    location /prod-api/ {        proxy_pass http://127.0.0.1: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;    }}# 检查配置并重载Nginxnginx -tnginx -s reload

4. 验证与常见问题

访问服务器IP或域名,看到RuoYi登录页即表示部署成功。默认账号:admin / admin123。

常见问题排查

  • 数据库连接失败:检查MySQL是否允许远程连接,防火墙是否开放3306端口。
  • Redis连接失败:确认Redis配置了bind 0.0.0.0或关闭保护模式。
  • Nginx 404:检查location root路径是否正确,try_files配置是否遗漏。
  • 接口跨域:RuoYi后端已配置CORS,如仍有问题检查Nginx代理头信息。

通过以上步骤,你已经成功完成了RuoYi前后端分离项目Linux部署。本教程涵盖了Linux部署Java项目的核心环节,也适用于其他前后端分离项目部署。希望对你有所帮助!