在linux服上使用nginx+tomcat部署若依前后端分离版本(RuoYi-Vue)

一、先拉工程,地址:RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本

二、在window上用idea打开跑通,可参考工程里的操作手册

后端启动:需要安装jdk,maven,mysql,redis环境

 前端启动:需要安装node,vue-cli环境

命令窗口执行:

npm install -g yarn # 全局安装yarn
yarn install # 安装项目依赖
yarn run dev # 启动前端项目
yarn build:prod # 后续打包上传到linux需要执行

效果:

三、linux安装环境(windows上可安装winscp,便于上传文件到linux)

winscp:winscp安装及关联putty使用_putty.exe没有找到-CSDN博客

jdk:linux系统安装jdk-CSDN博客 

mysql:Linux7安装mysql数据库以及navicat远程连接mysql-CSDN博客 

redis:linux7安装redis7.2.3以及使用ssh方式远程连接redis教程-CSDN博客 

nginx:阿里云服务linux系统CentOs8.5安装/卸载nginx1.15.9_centos8删除nginx-CSDN博客

tomcat: Linux7安装tomcat9.0.83教程-CSDN博客

四、后端部署

1、 后端打包:点开右侧maven,先点clean,执行完后点package,执行完后左侧target出现的war包就是我们需要上传到linux的包,若找不到打开文件管理看看,可能是idea隐藏了此类文件。

2、将包上传到tomcat的webapps目录下

 

3、重启tomcat

cd /usr/local/tomcat/bin
./shutdown.sh
./startup.sh

五、前端部署 

1、前端打包,打开命令行执行yarn build:prod,最后生成dist文件

 2、将dist里文件上传到linux,存放位置可自定义

3、修改nginx

    server {listen       80;server_name  www.xxx.com; # 域名,没有域名写主机ip也可以location / {root   /home/app/minigame/ui; # 存放前端文件的地址try_files $uri $uri/ /index.html;# 不加刷新会404index  index.html index.htm;}location ^~/prod-api/ { # 处理跨域,请求到后端tomcatproxy_pass http://127.0.0.1:8080/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

 其中prod-api对应生产环境设置的前缀

4、重启nginx

cd /usr/local/nginx/sbin
./nginx -s reload

六、外网访问

域名访问:http://www.xxx.com

ip访问:http://8.xx.xx.98

注:

若页面显示但network请求到后端404,可查看tomcat日志排查问题。

若页面404,可查看nginx配置/日志排查问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/216299.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC CLXHHandleEngine动态库-自定义设置对话框使用

实现的效果如下所示: void CSampleDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 CSgxMemDialog dlg(180, 100); dlg.SetEnable(true); dlg.SetWindowTitle(_T("自定义对话框")); dlg.AddStatic(1000, //控件资源…

数据结构算法-希尔排序算法

引言 在一个普通的下午,小明和小森决定一起玩“谁是老板”的扑克牌游戏。这次他们玩的可不仅仅是娱乐,更是要用扑克牌来决定谁是真正的“大老板”。 然而,小明的牌就像刚从乱麻中取出来的那样,毫无头绪。小森的牌也像是被小丑掷…

nodejs微信小程序+python+PHP沧州地区空气质量数据分析系统-计算机毕业设计推荐 django

本系统不仅主要实现了注册登录,系统首页,个人中心,用户管理,城市区域管理,空气状况管理,空气质量管理,系统管理,数据爬取,大屏分析等功能,通过这些功能基本可…

面向 SEO 专业人士的完整 Google Search Console 指南

了解 Google Search Console 并释放其功能,以改善您的网站运行状况和搜索性能。 Google Search Console 提供监控网站在搜索中的表现和提高搜索排名所需的数据,这些信息只能通过 Search Console 获得。 这使得它对于热衷于最大化成功的在线业务和出版商…

NLP项目实战01--电影评论分类

介绍: 欢迎来到本篇文章!在这里,我们将探讨一个常见而重要的自然语言处理任务——文本分类。具体而言,我们将关注情感分析任务,即通过分析电影评论的情感来判断评论是正面的、负面的。 展示: 训练展示如下…

WPF仿网易云搭建笔记(0):项目搭建

文章目录 前言项目地址项目Nuget包搭建项目初始化项目架构App.xaml引入MateralDesign资源包 项目初步分析将标题栏去掉DockPanel初步布局 资源字典举例 结尾 前言 最近在找工作,发现没有任何的WPF可以拿的出手的工作经验,打算仿照网易云搭建一个WPF版本…

leaflet使用热力图报L找不到的问题ReferenceError: L is not defined at leaflet-heat.js:11:3

1.在main.js中直接引入会显示找不到L 2.解决办法 直接在组件中单独引入使用 可以直接显示出来。 至于为什么main中不能引入为全局,我是没找到,我的另外一个项目可以,新项目不行,不知哪里设置的问题

【Docker】swarm stack部署多service应用

前面我们已经学习过了Docker Compose,它可以用来进行一个完整的应用程序相互依赖的多个容器的编排的,但是缺点是只能在单机模式使用,不能在分布式多机器上使用;前面我们也学习了Docker swarm,它可以将单个服务部署为多…

每日一题,杨辉三角

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: numRows 1 输出: [[1]]

EarCMS 前台任意文件上传漏洞复现

0x01 产品简介 EarCMS是一个APP内测分发系统的平台。 0x02 漏洞概述 EarCMS前台put_upload.php中,存在pw参数硬编码问题,同时sql语句pdo使用错误,没有有效过滤sql语句,可以控制文件名和后缀,导致可以任意文件上传。 0x03 复现环境 FOFA:app="EearCMS" 0x0…

关系型数据库和非关系型数据库有什么区别?

一、什么是数据库? 数据库是一个结构化的数据集合,用于存储、管理和组织数据。它是一个电子化的文件柜,可以存储大量的数据,并提供了一种高效地检索、更新和管理数据的方法。数据库可以用于存储各种类型的数据,例如文…

CNN发展史脉络 概述图整理

CNN发展史脉络概述图整理,学习心得,供参考,错误请批评指正。 相关论文: LeNet:Handwritten Digit Recognition with a Back-Propagation Network; Gradient-Based Learning Applied to Document Recogniti…

前端面试——CSS面经(持续更新)

1. CSS选择器及其优先级 !important > 行内样式 > id选择器 > 类/伪类/属性选择器 > 标签/伪元素选择器 > 子/后台选择器 > *通配符 2. 重排和重绘是什么?浏览器的渲染机制是什么? 重排(回流):当增加或删除dom节点&…

【STM32】STM32学习笔记-LED闪烁 LED流水灯 蜂鸣器(06-2)

00. 目录 文章目录 00. 目录01. GPIO之LED电路图02. GPIO之LED接线图03. LED闪烁程序示例04. LED闪烁程序下载05. LED流水灯接线图06. LED流水灯程序示例07. 蜂鸣器接线图08. 蜂鸣器程序示例09. 下载10. 附录 01. GPIO之LED电路图 电路图示例1 电路图示例2 02. GPIO之LED接线图…

【unity】【WebRTC】从0开始创建一个Unity远程媒体流app-设置输入设备

【项目源码】 包括本篇需要的脚本都打包在项目源码中,可以通过下面链接下载: 【背景】 目前我们能投射到远端浏览器(或者任何其它Peer)的媒体流只有默认的MainCamera画面,其实我们还可以通过配置输入来传输操作输入信息,比如键鼠等。 【追加input processing组件】 …

C++刷题 -- 哈希表

C刷题 – 哈希表 文章目录 C刷题 -- 哈希表1.两数之和2.四数相加II3.三数之和(重点) 当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法; 1.两数之和 https://leetcode.cn/problems/two…

Node.js黑马时钟案例

先上没有使用node.js之前的html部分代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title><style>* {margin: 0;padding: 0;}html,body {height: 100%;overflow: hidden;backgrou…

Linux 常用命令汇总

1 linux定时任务 查看定时任务&#xff1a;crontab -l 每晚一点半执行定时任务&#xff1a; 30 1 * * * sh /var/lib/pgsql/pg_db_backup.sh >> /var/lib/pgsql/pg_db_backup.log 2>&1 配置定时任务&#xff1a;crontab -e 2 linux 内核版本查询 cat /etc/r…

Kafka-快速实战

Kafka介绍 ChatGPT对于Apache Kafka的介绍&#xff1a; Apache Kafka是一个分布式流处理平台&#xff0c;最初由LinkedIn开发并于2011年开源。它主要用于解决大规模数据的实时流式处理和数据管道问题。 Kafka是一个分布式的发布-订阅消息系统&#xff0c;可以快速地处理高吞吐…