当前位置: 首页 > news >正文

RuoYi-Vue部署(Nginx+Tomcat)

  1. 环境搭建
    RuoYi-Vue搭建、Linux安装Nginx、Linux安装JDK8、Linux安装MySql8、Linux安装Redis、Linux安装Tomcat9
  2. 前端打包
    1.ruoyi-ui鼠标右键-->打开于终端2.安装依赖:npm install --registry=https://registry.npm.taobao.org-->node_modules3.编译打包:npm run build:prod-->dist

  3. 前端部署

    1.将RuoYi-Vue\ruoyi-ui\dist下所有文件复制到/opt/nginx/nginx_install/html2.编辑:/opt/nginx/nginx_install/conf/nginx.conf
    server {listen       8181;server_name  192.168.1.97;#前端打的dist资源存放目录root		   /opt/nginx/nginx_install/html;location / {# 用于配合 browserHistory使用try_files $uri $uri/ /index.html;}
    }3.Nginx常用命令(重载配置需要在启动状态下执行)
    启动/查看/关闭/重载-->nginx/ps -ef | grep -i nginx/nginx -s stop/nginx -s reload4.放开端口:firewall-cmd --zone=public --add-port=8181/tcp --permanent && firewall-cmd --reload5.前端访问:192.168.1.97:8181-->验证码加载失败

  4. 后端打包

    1.编辑:RuoYi-Vue\ruoyi-admin\pom.xml
    <packaging>war</packaging>
    <artifactId>ruoyi-admin</artifactId>2.编辑RuoYi-Vue\ruoyi-admin\src\main\resources\application-druid.yml-->连接服务器MySQL
    # 主库数据源
    master:url: jdbc:mysql://192.168.1.97:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: mysqlpassword: 1234563.编辑RuoYi-Vue\ruoyi-admin\src\main\resources\application.yml-->连接服务器Redis
    # redis 配置
    redis:# 地址host: 192.168.1.97# 端口,默认为6379port: 6379# 数据库索引database: 0# 密码password: '123456'4.编辑RuoYi-Vue\ruoyi-admin\src\main\resources\logback.xml-->变更日志文件存放路径
    <property name="log.path" value="/opt/nginx/nginx_install/html/log" />5.顶层Maven命令clean、install、package-->RuoYi-Vue\ruoyi-admin\target\ruoyi-admin.war注意:MySQL创建用户(用户名:mysql 密码:123456),创建数据库ry-vue并执行RuoYi-Vue\sql目录下脚本文件

  5. 后端部署

    1.编辑:/opt/tomcat/apache-tomcat-9.0.70/conf/server.xml
    <Connector port="8282" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>2.将RuoYi-Vue\ruoyi-admin\target\ruoyi-admin.war放入/opt/tomcat/apache-tomcat-9.0.70/webapps3.Tomcat常用命令
    启动/关闭/查看-->startup.sh/shutdown.sh/ps -ef | grep -i tomcat4.放开端口:firewall-cmd --zone=public --add-port=8282/tcp --permanent && firewall-cmd --reload5.后端访问:http://192.168.1.97:8282/ruoyi-admin

  6. Nginx动静分离

    1.RuoYi-Vue为典型前后端分离项目,Nginx作为静态服务器部署前端项目(处理静态资源请求),Tomcat作为动态服务器部署后端项目
    (处理动态资源请求),同时Nginx作为反向代理服务器,接收到静态资源请求后交由Nginx处理,接收到动态资源请求后交由Tomcat处理2.验证码请求http://192.168.1.97:8181/prod-api/captchaImage为动态请求,反向代理服务器Nginx
    接收到请求后需要将请求转给Tomcat处理,转到http://192.168.1.97:8282/ruoyi-admin/prod-api/captchaImage3.实现验证码请求转发,Nginx需要将http://192.168.1.97:8181/prod-api/开头的请求转到
    http://192.168.1.97:8282/ruoyi-admin/,编辑/opt/nginx/nginx_install/conf/nginx.conf
    server {listen       8181;server_name  192.168.1.97;#前端打的dist资源存放目录root		   /opt/nginx/nginx_install/html;location / {# 用于配合 browserHistory使用try_files $uri $uri/ /index.html;}location /prod-api/ {# 反向代理,将/prod-api/匹配的请求路径转发到指定服务器proxy_pass http://192.168.1.97:8282/ruoyi-admin/;}
    }4.前端访问:192.168.1.97:8181-->验证码成功加载

  7. Nginx虚拟主机

    1.目前为止,项目通过IP直接访问,接下来通过Nginx虚拟主机模拟域名访问2.编辑:C:\Windows\System32\drivers\etc\hosts
    192.168.1.97 my.ruoyi.com3.编辑/opt/nginx/nginx_install/conf/nginx.conf
    server {listen       80;server_name  my.ruoyi.com;#前端打的dist资源存放目录root		   /opt/nginx/nginx_install/html;location / {# 用于配合 browserHistory使用try_files $uri $uri/ /index.html;}location /prod-api/ {# 反向代理,将/prod-api/匹配的请求路径转发到指定服务器proxy_pass http://192.168.1.97:8282/ruoyi-admin/;}
    }4.放开端口:firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload5.项目访问:my.ruoyi.com


相关文章:

RuoYi-Vue部署(Nginx+Tomcat)

环境搭建RuoYi-Vue搭建、Linux安装Nginx、Linux安装JDK8、Linux安装MySql8、Linux安装Redis、Linux安装Tomcat9前端打包 1.ruoyi-ui鼠标右键-->打开于终端2.安装依赖&#xff1a;npm install --registryhttps://registry.npm.taobao.org-->node_modules3.编译打包&#x…...

Hive提升篇-Hive修改事务

简介 Hive 默认是不允许数据更新操作的&#xff0c;毕竟它不擅长&#xff0c;即使在0.14版本后&#xff0c;做一些额外的配置便可开启Hive数据更新操作。而在海量数据场景下做update、delete之类的行级数据操作时&#xff0c;效率并不如意。 简单使用 修改HIVE_HOME/conf/hi…...

PMP项目管理未来的发展与趋势

什么是项目管理&#xff1f;关于项目管理的解释主要是基于国际项目管理三大体系不同的解释及本领域权威专家的解释。 项目管理就是以项目为对象的系统管理方法&#xff0c;通过一个临时性的、专门的柔性组织&#xff0c;对项目进行高效率的计划、组织、指导和控制&#xff0c;以…...

深度学习算法面试常问问题(三)

pooling层是如何进行反向传播的&#xff1f; average pooling&#xff1a; 在前向传播中&#xff0c;就是把一个patch的值取平均传递给下一层的一个像素。因此&#xff0c;在反向传播中&#xff0c;就是把某个像素的值平均分成n份 分配给上一层。 max pooling&#xff1a; 在前…...

GEE学习笔记 八十七:python版GEE动态加载地图方法

在Google Earth Engine的python版API更新后&#xff0c;之前使用folium动态加载地图的代码就不能在正常运行&#xff0c;因为整个Google Earth Engine的地图加载服务的URL发生了更新&#xff0c;所以我们也需要更新相关绘制方法。下面我会讲解一种新的绘制方法&#xff0c;大家…...

第三章 SQL错误信息

文章目录第三章 SQL错误信息SQLCODE 0和100SQLCODE -400检索SQL消息文本第三章 SQL错误信息 下表列出了SQL数字错误代码及其错误消息。这些代码作为SQLCODE变量值返回。 注意&#xff1a;虽然本文档将错误代码列为负值&#xff0c;但JDBC和ODBC客户端始终收到正值。例如&…...

axios中的resolvePromise为什么影响promise状态

axios的取消请求意思很简单&#xff0c;就是在发送请求后不久停止发送请求 本文探讨的是v0.22.0之前的CancelToken API&#xff0c;因为在阅读源码交流的时候发现很多朋友不理解为什么CancelToken中的resolvePromise会影响到实例对象身上的promise状态 即下图所示代码&#xf…...

AWS攻略——创建VPC

文章目录创建一个可以外网访问的VPCCIDR主路由表DestinationTarget主网络ACL入站规则出站规则子网创建EC2测试连接创建互联网网关&#xff08;IGW&#xff09;编辑路由表知识点参考资料在 《AWS攻略——VPC初识》一文中&#xff0c;我们在AWS默认的VPC下部署了一台可以SSH访问的…...

一文搞懂ECU休眠唤醒之利器-TJA1145

前言 首先&#xff0c;小T请教大家几个小小问题&#xff0c;你清楚&#xff1a; 什么是TJA1145吗&#xff1f;你知道休眠唤醒控制基本逻辑是怎么样的吗&#xff1f;TJA1145又是如何控制ECU进行休眠唤醒的呢&#xff1f;使用TJA1145时有哪些注意事项呢&#xff1f; 今天&…...

【Java基础】022 -- Lambda与递归练习

目录 一、Lambda表达式 1、Lambda初体验 2、函数式编程 3、Lambda表达式的标准格式 4、小结 5、Lambda表达式的省略写法 ①、示例代码 ②、小结 6、Lambda表达式的练习 ①、Lambda表达式简化Comparator接口的匿名形式 二、综合练习 1、按照要求进行排序&#xff08…...

技研智联云原生容器化平台实践

作者简介&#xff1a;郑建林&#xff0c;现任深圳市技研智联科技有限公司架构师&#xff0c;技术负责人。多年物联网及金融行业经验&#xff0c;对云计算、区块链、大数据等领域有较深入研究及应用。现主要从事 PaaS 平台建设&#xff0c;为公司各业务产品线提供平台底座如技术…...

订单服务:订单流程

订单流程 订单流程是指从订单产生到完成整个流转的过程&#xff0c;从而行程了一套标准流程规则。而不同的产品类型或业务类型在系统中的流程会千差万别&#xff0c;比如上面提到的线上实物订单和虚拟订单的流程&#xff0c;线上实物订单与 O2O 订单等&#xff0c;所以需要根据…...

Python的有用知识,一共十三个代码片段,确定不来看看吗

前言 之前发过22个小技巧&#xff0c;今天就来分享分享13个非常有用的代码片段 赶紧码住&#xff0c;看看你都了解吗 1.将两个列表合并成一个字典 假设我们在 Python 中有两个列表&#xff0c;我们希望将它们合并为字典形式&#xff0c;其中一个列表的项作为字典的键&#…...

数据结构与算法-数组

前言&#xff1a;几乎所有的编程语言都原生支持数组类型。因为数组是最简单的内存数据结构。创建一个数组&#xff1a;let arr new Array()或let arr new Array(5) // 指定长度或let arr new Array(1,2,3,4,5) // 将数组元素作为参数传给构造函数或let arr [1,2,3,4,5] // …...

PMP证书在哪个行业比较有用?

PMP 各个行业都能用&#xff0c;PMP 的知识体系是通用的&#xff0c;管理层的考试也有借鉴PMP知识的地方。历年考生考的最多的是IT 行业&#xff0c;其他行业也都有分布。PMP认证从国外引进大陆这么多年了&#xff0c;其火热程度依然不减&#xff0c;我个人认为是取决于市场的运…...

Wine零知识学习4 —— Wine编译进阶详解

本系列第3篇文章Wine零知识学习3 —— Winetricks介绍及下载和运行讲述了Wentricks的下载及使用。在Winetricks的使用过程中会发现很多应用下载会出现问题&#xff0c;会提示32位程序无法运行在64位系统上。为什么会出现这个问题&#xff1f;又如何解决此问题&#xff1f;这就是…...

win10-右键打开windows terminal

文章目录windows terminal设置右键打开打开注册表添加一个右键选项新建一个项添加右键的名称和图标右键选项执行的命令测试windows terminal windows 新一代命命令行 设置右键打开 打开注册表 WinR 输入&#xff1a; regedit 定位&#xff1a; 计算机\HKEY_CLASSES_ROOT\Di…...

关于使用CMT2300A FIFO缓存区间设置为64Byte的问题

首先请看&#xff0c;CMT2300A 是什么产品&#xff0c;或者说是 模组吗&#xff1f; 请看介绍&#xff1a; https://blog.csdn.net/sishuihuahua/article/details/105095994 以及RFPDK 的使用: 这博客&#xff0c;记录了 RFPDK 的使用,以及遇到的一些问题 我说一下&#…...

网页概念、常用浏览器及内核、Web标准

网页、常用浏览器及内核、Web标准一、网页1.1、什么是网页&#xff1f;1.2、什么是HTML?&#xff08;重点&#xff09;1.3、网页的形成&#xff1f;二、常用浏览器三、浏览器内核四、Web标准&#xff08;重点&#xff09;4.1 为什么需要Web标准&#xff1f;4.2 Web标准的构成一…...

【刷题笔记】--搜索二维矩阵 II

题目&#xff1a; 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16…...

计算机视觉与VR融合:构建远程协助独居老人的智能生活守护系统

1. 当计算机视觉遇见VR&#xff1a;守护独居老人的科技新思路 早上8点&#xff0c;张阿姨家的智能摄像头捕捉到她起床时的一个踉跄&#xff0c;这个细微动作触发了系统的预警机制。200公里外的女儿立刻收到通知&#xff0c;戴上VR眼镜后&#xff0c;她仿佛瞬间"穿越"…...

【权威验证】Perplexity书评辅助效果对比实验:传统写作vs AI增强写作(N=1,247篇样本,p<0.001)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;【权威验证】Perplexity书评辅助效果对比实验&#xff1a;传统写作vs AI增强写作&#xff08;N1,247篇样本&#xff0c;p<0.001&#xff09; 本实验基于真实学术出版场景&#xff0c;对1,247篇计算机科学领…...

OFDM-QPSK系统仿真避坑指南:如何正确设置SNR并解读星座图与误码率曲线

OFDM-QPSK系统仿真避坑指南&#xff1a;如何正确设置SNR并解读星座图与误码率曲线 在无线通信系统的仿真实践中&#xff0c;OFDM-QPSK组合因其抗多径干扰和频谱效率高的特点&#xff0c;成为研究者常用的验证模型。但许多初学者在MATLAB仿真中常遇到结果与理论不符的情况——星…...

GIFT高级技巧:图像组合、并行处理和性能优化的终极指南

GIFT高级技巧&#xff1a;图像组合、并行处理和性能优化的终极指南 【免费下载链接】gift Go Image Filtering Toolkit 项目地址: https://gitcode.com/gh_mirrors/gi/gift GIFT&#xff08;Go Image Filtering Toolkit&#xff09;是一个强大的Go语言图像处理库&#x…...

Spring Cloud Sleuth 响应式编程支持:WebFlux 与 Reactor 追踪实践

Spring Cloud Sleuth 响应式编程支持&#xff1a;WebFlux 与 Reactor 追踪实践 【免费下载链接】spring-cloud-sleuth Distributed tracing for spring cloud 项目地址: https://gitcode.com/gh_mirrors/sp/spring-cloud-sleuth Spring Cloud Sleuth 是 Spring Cloud 生…...

对比官方渠道Taotoken在Token计费与套餐上的成本优势感知

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比官方渠道Taotoken在Token计费与套餐上的成本优势感知 对于个人开发者和初创团队而言&#xff0c;在探索和集成大模型能力时&am…...

你的uniapp扫码功能总失灵?可能是PDA广播没配对!手把手教你从设备设置到代码监听

Uniapp与PDA扫码功能深度整合&#xff1a;从硬件配置到代码监听的完整指南 在移动应用开发领域&#xff0c;PDA&#xff08;便携式数据采集终端&#xff09;与Uniapp的整合已成为许多企业级应用的核心需求。特别是物流仓储、零售盘点等场景下&#xff0c;扫码功能的稳定性直接关…...

从《魔兽世界》到你的项目:深入拆解Recast导航网格生成与优化的全流程

从《魔兽世界》到现代项目&#xff1a;Recast导航网格技术的深度实践指南 1. 导航网格技术的演进与核心价值 2004年《魔兽世界》的发布不仅是MMO游戏史上的里程碑&#xff0c;更悄然改变了游戏AI寻路技术的演进轨迹。当数百万玩家在艾泽拉斯大陆自由探索时&#xff0c;鲜少有人…...

用STM32F103C8T6和HC-08蓝牙模块,从零到一打造你的第一辆遥控小车(CubeMX+HAL库保姆级教程)

从零构建STM32蓝牙遥控小车&#xff1a;CubeMX配置与实战全解析 第一次接触嵌入式开发时&#xff0c;那种让硬件按照自己编写的代码动起来的成就感&#xff0c;至今记忆犹新。本文将带你完整经历用STM32F103C8T6和HC-08蓝牙模块打造遥控小车的全过程&#xff0c;特别适合刚学完…...

初创公司如何借助 Taotoken 多模型能力低成本验证产品创意

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 初创公司如何借助 Taotoken 多模型能力低成本验证产品创意 对于初创团队而言&#xff0c;在产品原型开发阶段&#xff0c;快速验证…...