2023全网最详细的若依开源项目部署,将其部署到Linux操心系统中

📚📚 🏅我是默,一个在CSDN分享笔记的博主。📚📚

​​

🌟在这里,我要推荐给大家我的专栏《Linux》。🎯🎯

🚀无论你是编程小白,还是有一定基础的程序员,这个专栏都能满足你的需求。我会用最简单易懂的语言,带你走进代码的世界,让你从零开始,一步步成为编程大师。🚀🏆

🌈让我们在代码的世界里畅游吧!🌈

🎁如果感觉还不错的话请记得给我点赞哦!🎁🎁

💖期待你的加入,一起学习,一起进步💖💖

一.拉取若依项目源码

1.通过git仓库路径进行源码的拉取

在进行若依项目的拉取是要注意本地是否搭建本地maven仓库以及,配置国内镜像下载文件。并且在本地进行git的下载以及安装。

.项目下载:

RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 (gitee.com)

通过git 下载:

bash 复制代码
git clone  https://gitee.com/y_project/RuoYi.git     

//前后端分离版本
git clone https://gitee.com/y_project/RuoYi-Vue.git

克隆在本地仓库即可,在通过IDEA将下载的若依项目启动!

2.在本地启动若依项目

由于下载的为若依前后端分离版本的所以前端以及后端要分别启动

2.1后端启动

要配置redis,mysql 的账号以及密码 ,mysql的数据库名字

2.1.1配置redis

配置redis:端口号,请求地址,以及密码

2.1.2配置mysql

mysql的url路径,以及mysql的账号和密码

2.1.3正式启动后端

点击即可

出现这个即是代表项目后端成功启动

2.2前端启动

2.1.2npm install

通过 npm install 去下载前端Vux需要的js文件

2.通过 npm run dev 启动前端

出现这个界面(项目启动成功)只够通过鼠标+crtl即可点击前端

二.打包

本项目利用若依框架,并且在若依框架在开发时利用springBoot的服务器开发技术在部署的时候就会有两种方案

1.通过jar部署若依

本医疗项目基于若依项目进行开发,由于若依项目是一个非常常熟的框架。在他的本地目录下的和rouyi-admin目录同级的bin下有自带的打包工具,通过点击package.bat,在如图所示的文件下的target目录下会生成相对应的jar。

由于MobaXterm自带拖拽的功能在远程连接后将创建一个包用于若依jar的存储

在到 存储ruoyi项目的包中**通过 java -jar rouyo-admin.jar启动项目即可。代表后端项目以及成功启动

打包前端vue构建的项目并且部署在linex

在本地导入的ruoyi-ui下的通过命令控制来讲前端的页面进行打包输入以下指令zai

bash 复制代码
# 打包正式环境
npm run build:prod
​
# 打包预发布环境
npm run build:stage
复制代码
​在ruoyi-ui下会生成一个dis文件夹,再将dist文件放在指定的位置并且 copy包dist的更路径下即可
部署nginx

将nginx中的nginx.conf配置文件进行替换,替换后重新启动即可。代表前端以及部署好

XML 复制代码
worker_processes  1;
​
events {
    worker_connections  1024;
}
​
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
​
    server {
        listen       80;
        server_name  localhost;
        charset utf-8;
​
        location / {
            root   dist的存放路径;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        
        location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:8080/;
        }
​
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

2.通过War的方式进行部署

修改ruoyi-adminpom.xml文件

修改ruoyi-admin中pom.xml,打成war包

然后将springboot中的自带的tomact去掉,不然在运行的过程中查看系统日志会出现两个佛祖!

XML 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!--忽略掉内嵌的tomca 打包部署到tomcat -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

然后按照图片下面操作即可

然后在项目所在本地目录下的ruoyi-admin的war通过拖拽的方式将war部署在tomact下的webapp包里面

1.2修改tomact配置文件

在server.xml中的Host,添加Context

复制代码
<Context docBase="/root/javamo/sofware/apache-tomcat-8.5.20/webapps/ruoyi-admin" path="" reloadable="false" crossContext="true"/>

然后重启tomact即可

前端导包

在本地导入的ruoyi-ui下的通过命令控制来讲前端的页面进行打包输入以下指令zai

复制代码
# 打包正式环境
npm run build:prod
​
# 打包预发布环境
npm run build:stage
​

在ruoyi-ui下会生成一个dis文件夹,再将dist文件放在指定的位置并且 copy包dist的更路径下即可

2.1配置xml在dist包下

需要注意的是在dist目录的文件夹下新建WEB-INF文件夹,并在里面添加web.xml文件,再将dist文件放在指定的位置并且 copy包dist的更路径下即可。配置如下:

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
        http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
        version="3.1" metadata-complete="true">
     <display-name>Router for Tomcat</display-name>
     <error-page>
        <error-code>404</error-code>
        <location>/index.html</location>
    </error-page>
</web-app>

将nginx中的nginx.conf配置文件进行替换,替换后重新启动即可。代表前端以及部署好。(在其中部署了负载均衡,以及动态分离)

XML 复制代码
#user  nobody;
worker_processes  1;
​
events {
    worker_connections  1024;
}
​
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
      upstream  tomcat_list {  #服务器集群名字
    server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。
    server    127.0.0.1:8082  weight=3; #服务器2   weight是权重的意思,权重越大,分配的概率越大
} 
    
​
    server {
        listen       80;
        server_name  localhost;
        charset utf-8;
​
        location / {
            root   /usr/local/mypro/dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
            location  ^~/api/ {
        proxy_pass http://tomcat_list/;
    }
        
        location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:8080/;
        }
​
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

在通过 ./nginx -s reload 重启即可

相关推荐
雾月5511 分钟前
LeetCode 1292 元素和小于等于阈值的正方形的最大边长
java·数据结构·算法·leetcode·职场和发展
24k小善1 小时前
Flink TaskManager详解
java·大数据·flink·云计算
想不明白的过度思考者1 小时前
Java从入门到“放弃”(精通)之旅——JavaSE终篇(异常)
java·开发语言
.生产的驴2 小时前
SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理
java·数据库·spring boot·后端·spring·eclipse·maven
猿周LV2 小时前
JMeter 安装及使用 [软件测试工具]
java·测试工具·jmeter·单元测试·压力测试
晨集2 小时前
Uni-App 多端电子合同开源项目介绍
java·spring boot·uni-app·电子合同
时间之城2 小时前
笔记:记一次使用EasyExcel重写convertToExcelData方法无法读取@ExcelDictFormat注解的问题(已解决)
java·spring boot·笔记·spring·excel
椰羊~王小美2 小时前
LeetCode -- Flora -- edit 2025-04-25
java·开发语言
凯酱2 小时前
MyBatis-Plus分页插件的使用
java·tomcat·mybatis
程序员总部2 小时前
如何在IDEA中高效使用Test注解进行单元测试?
java·单元测试·intellij-idea