一.拉取若依项目源码
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 重启即可