本文将详细介绍如何将若依前后端分离项目(RuoYi_Vue)发布到Linux服务器,并完成线上部署。在阅读前,请确保你已在本地成功运行项目,这有助于快速排查潜在问题,并确保部署顺利进行。
在Linux服务器上部署若依之前,需要先确保以下环境已经准备好。
本教程基于 Linux Ubuntu 操作系统。
在打包后端项目之前,需要修改以下配置文件,使其适应Linux环境。
第一处修改:application.yml
中的 ruoyi.profile
属性。
默认配置适用于 Windows 路径,而 Linux 下的文件系统结构不同,必须修改该路径,否则文件上传功能可能无法正常工作。
ruoyi:
profile: /home/ruoyi/uploadPath
第二处修改:application-druid.yml
中的数据库连接信息。
检查并确保配置了正确的数据库地址、用户名和密码,如果不正确,启动后端时将会出现数据库连接失败的错误。
spring:
datasource:
druid:
url: jdbc:mysql://你的数据库地址:3306/ruoyi?useUnicode=true&characterEncoding=utf-8
username: 数据库用户名
password: 数据库密码
第三处修改:application.yml
中的 Redis 连接配置。如果使用远程 Redis 服务器,需设置远程服务器的IP地址;如果 Redis 配置了密码,也需要在此填写。
spring:
redis:
host: 你的redis服务器IP
password: redis密码 (如果有)
完成配置文件的修改后,接下来进行打包。若依后端使用 Maven 构建,提供多种打包方式。
方法一:在IDE(如 IntelliJ IDEA)中,直接通过 Maven 插件的 package
命令打包。
方法二:使用命令行执行以下 Maven 命令,跳过测试直接打包:
mvn clean package -Dmaven.test.skip=true
打包成功后,在 ruoyi-admin
模块下的 target
目录中会生成 ruoyi-admin.jar
。
前端打包非常简单,进入 ruoyi-ui
目录后,执行以下命令:
# 打包生产环境
npm run build:prod
打包完成后,会在 dist
目录下生成前端静态资源文件,这些文件将部署到 Nginx 上。
通过 SCP 等工具将 ruoyi-admin.jar
和 dist
文件夹上传到服务器指定目录,同时将数据库 SQL 文件一并上传。
在 MySQL 中创建数据库,并导入 SQL 文件。
-- 创建数据库
create database ruoyi default character set utf8mb4 collate utf8mb4_bin;
-- 导入数据库文件
use ruoyi;
source /上传路径/ry_20230706.sql;
source /上传路径/quartz.sql;
-- 检查表是否成功导入
show tables;
Redis 是若依项目的缓存管理工具,启动 Redis 服务并检查其状态。
# 启动 Redis 服务
sudo service redis-server start
# 检查 Redis 状态
sudo service redis-server status
确保 Nginx 已安装并启动,用于前端的静态资源托管和接口代理。
sudo /etc/init.d/nginx start
通过以下命令后台启动后端服务:
java -jar ruoyi-admin.jar &
可以通过 ps
命令查看后端服务的运行情况:
ps -ef | grep ruoyi-admin.jar
前端静态资源通过 Nginx 提供。进入 Nginx 配置目录并修改配置文件:
cd /etc/nginx
vim nginx.conf
配置内容如下:
server {
listen 80;
server_name localhost;
# 前端静态资源路径
location / {
root /usr/local/project/ruoyi/ruoyi-ui/dist;
try_files uriuri/ /index.html;
index index.html;
}
# 后端接口代理
location /prod-api/ {
proxy_set_header Host http_host;
proxy_set_header X-Real-IPremote_addr;
proxy_pass http://localhost:8080/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
保存并退出后,重启 Nginx 服务:
systemctl restart nginx
部署完成后,可以通过服务器的IP地址访问项目,默认路径为:
http://你的服务器IP地址/login
ruoyi.profile
已正确配置为 Linux 下的路径格式。application-druid.yml
中的数据库配置,确认 MySQL 服务已经启动并可用。application.yml
中 Redis 的连接配置,并确认 Redis 服务正常运行。通过本篇教程,您可以顺利地在Linux服务器上部署若依项目。正确配置各个服务并依次启动,将确保项目正常运行。如果遇到问题,请根据日志进行排查。
powered by kaifamiao