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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 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 重启即可

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
205 3
Linux系统禁用swap
|
2月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
275 3
|
3月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
30天前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
161 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
2月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
356 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
1月前
|
Linux iOS开发 计算机视觉
GIMP 3.0.6 (Linux, macOS, Windows) 发布 - 免费开源图像编辑器
GIMP 3.0.6 (Linux, macOS, Windows) 发布 - 免费开源图像编辑器
167 0
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
265 0
Linux系统初始化脚本
|
3月前
|
Java Linux Apache
Apache NetBeans 27 (macOS, Linux, Windows) - Java 等多语言开源跨平台 IDE
Apache NetBeans 27 (macOS, Linux, Windows) - Java 等多语言开源跨平台 IDE
249 5
Apache NetBeans 27 (macOS, Linux, Windows) - Java 等多语言开源跨平台 IDE
|
2月前
|
安全 Linux 网络安全
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
521 0
|
3月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
210 18