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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 2023全网最详细的若依开源项目部署,将其部署到Linux操心系统中

一.拉取若依项目源码

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

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

.项目下载:

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

通过git 下载:

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
# 打包正式环境
npm run build:prod
?
# 打包预发布环境
npm run build:stage

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

部署nginx

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

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去掉,不然在运行的过程中查看系统日志会出现两个佛祖!

<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 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配置文件进行替换,替换后重新启动即可。代表前端以及部署好。(在其中部署了负载均衡,以及动态分离)

#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 重启即可

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示&quot;Hello World!&quot;。另可参考LuaDist官方推荐方式安装。
|
4天前
|
Ubuntu Linux 编译器
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
|
4天前
|
Linux Windows
虚拟机添加新硬盘之linux系统篇
虚拟机添加新硬盘之linux系统篇
15 1
|
2天前
|
运维 Linux Docker
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
|
2天前
|
运维 Linux Docker
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧
|
2天前
|
运维 Linux
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
|
3天前
|
监控 JavaScript Linux
Linux系统之部署Homepage个人导航页
【5月更文挑战第13天】Linux系统之部署Homepage个人导航页
21 1
|
4天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
14 0
|
4天前
|
Linux Perl
Linux系统的文本处理
Linux系统的文本处理
|
4天前
|
Linux API
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
http://www.vxiaotou.com