jeecg-boot项目的部署-windows系统

news2024/11/26 22:30:53

一、基础环境的准备:

1、后台基础环境:JDK、redis、数据库:sqlserver

2、前端基础环境:nginx

redis和nginx的安装都很方便,直接去对应的官网,下载zip压缩包,然后解压,执行.exe文件即可。

验证nginx是否运行成功:

打开任意一个浏览器,输入 localhost,默认是80端口,出现下面的页面,则安装成功。

因为我的服务器是 window server服务器,80端口已被占用,所以修改conf目录下的nginx.conf,修改监听端口为:8090

然后关闭,重启nginx即可!

【特别说明】:

有一个比较坑的点: nginx的配置文件nginx.conf,使用记事本打开修改,好像不行,无法启动,会报错:

还是建议用nodepad文件打开修改。

 

二、项目打包

2-1、jeecg-boot项目打JAR包

1、修改配置文件 application-prod.yml

2、切换Maven为生产模式

3、通过jeecg-boot-parent打包

4、拿到 jeecg-system-start-{版本号}.jar 包

2-2、通过JAR方式启动后台

Window启动命令:cmd进入到jar包的文件路径
java -jar jeecg-system-start-xxx.jar

后台启动成功:端口为8080

2-3、前端vue项目打dist包

npm run build

通过如上命令生成dist文件夹。

 

注意:若是后期修改了前端代码,需要重新打包,先把dist文件夹删除,再执行build命令。

dist文件说明:

在Windows服务器上部署Vue项目的dist文件夹时,通常不需要安装Node.js。

因为dist文件夹是通过npm run build(或类似的构建命令)生成的静态资源集合,它包含了HTML、CSS、JavaScript、图片等文件,这些文件可以直接被Web服务器(如Nginx、Apache、IIS等)服务,而不需要Node.js环境。

打包遇到的问题1: webpack的版本问题

我使用的是vue2的前端,webpack没有配置到package.json文件中,而是作为其他依赖添加进来的,版本是3.12.0。

但是打包的时候,有一个依赖对应的版本要用到webpack 4以上的版本:

当时年少无知,直接在package.json文件中加了webpack 5和对应的脚手架版本

Webpack 4及之前的版本中,CLI工具是作为Webpack的一部分包含在内的,但自Webpack 4开始,CLI工具被拆分为了一个独立的npm包webpack-cli

导致打包报了更多的版本冲突的问题:

于是,一番思索之下,打算直接用webpack4版本

终于解决了webpack的版本冲突的问题。

也因此明白了一些 package.json、package-lock.json和node_modules文件夹之间的关系:

jeecg项目前端代码,直接从git上拉下来是带有 package.json、package-lock.json文件的,初次npm install添加相关依赖,会生成node_modules文件夹,里面都是项目的相关依赖。

所以,要是修改了package.json,需要重新npm install添加相关版本的依赖,可以直接先把node_modules文件夹删掉(我还做了备份,怕修改后以来冲突)。

打包遇到的问题2: 修改访问后台的接口地址

2-4、nginx的配置

在config配置文件中,加上了一个新的server块

upstream pathogen.jeecg.com {
	  server 192.168.10.236:8080;
	}
	
	server {
		#项目访问的前端端口
		listen       3000;
		server_name  192.168.10.236;
		#前端打的dist资源存放目录
		root		 D:/pathogenManagement/jeecgCode/dist;
		
		# 配置前端静态资源
		location / {
			 # 用于配合 browserHistory使用(很重要!)
			 try_files $uri $uri/ /index.html;
			 # 不缓存html,防止程序更新后缓存继续生效
			 if ($request_filename ~* .*\.(?:htm|html)$) {
				add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
				access_log on;
			 } 
		}
		
		# 配置后端服务代理
		location  /jeecgboot/ {
			#后台接口地址(我们部署去掉了/jeecg-boot项目名,如果你有请加上)
			proxy_pass         http://192.168.10.236:8080/jeecg-boot/;
			proxy_redirect off;
			#真实IP获取
			proxy_set_header  Host             $host;
			proxy_set_header  X-Real-IP        $remote_addr;
			set $my_proxy_add_x_forwarded_for $proxy_add_x_forwarded_for;
			if ($proxy_add_x_forwarded_for ~* "127.0.0.1"){
			   set $my_proxy_add_x_forwarded_for $remote_addr;
			}
			proxy_set_header   X-Forwarded-For $my_proxy_add_x_forwarded_for;
		}

		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   html;
		}

	}

配置完,启动nginx,浏览器输入:http://192.168.10.236:3000 即可访问项目!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

制作WIFI二维码,实现一键扫描连接WIFI

在现代社会,Wi-Fi已成为我们日常生活中不可或缺的一部分。无论是在家庭、办公室还是公共场所,我们都希望能够快速方便地连接到Wi-Fi网络。下面小编就来和大家分享通过制作WIFI二维码,来实现一键扫描就可以连接WIFI的方法。连接WIFI不用在告诉…

计算机网络 VLAN间路由单臂路由

一、理论知识 VLAN是一种将物理网络划分成多个逻辑网络的方法。不同的VLAN属于不同的网段,因此互相通信需要通过路由器进行路由。通常情况下,在同一VLAN内的设备可以直接通信,而不同VLAN之间的设备则需要通过路由器转发数据。本实验利用单臂…

洛谷——P2824 排序

题目来源:[HEOI2016/TJOI2016] 排序 - 洛谷https://www.luogu.com.cn/problem/P2824 问题思路 本文介绍一种二分答案的做法,时间复杂度为:(nm)*log(n)*log(n).本题存在nlog(n)的做法,然而其做法没有二分答案的做法通俗易懂. 默认读…

水系统阻力计算

所谓水泵的选取计算其实就是估算(很多计算公式本身就是估算的),估算分的细致些考虑的内容全面些就是精确的计算。 特别补充:当设计流量在设备的额定流量附近时,上面所提到的阻力可以套用,更多的是往往都大…

【前端技术】标签页通讯localStorage、BroadcastChannel、SharedWorker的技术详解

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

Apple - Text Attribute Programming Topics

本文翻译整理自:Text Attribute Programming Topics(更新日期:2004-02-16 https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/TextAttributes/TextAttributes.html#//apple_ref/doc/uid/10000088i 文章目录 一、文…

http发展史(http0.9、http1.0、http1.1、http/2、http/3)详解

文章目录 HTTP/0.9HTTP/1.0HTTP/1.1队头阻塞(Head-of-Line Blocking)1. TCP 层的队头阻塞2. HTTP/1.1 的队头阻塞 HTTP/2HTTP/3 HTTP/0.9 发布时间:1991年 特点: 只支持 GET 方法没有 HTTP 头部响应中只有 HTML 内容&#xff0…

C语言入门系列:可迁移的数据类型

文章目录 1,精确宽度类型(exact-width integer type)2,最小宽度类型(minimum width type)3,最快的最小宽度类型(fast minimum width type)4,可以保存指针的整数类型。5, …

云原生微服务开发日趋成熟:有效拥抱左移以改善交付

在软件工程和应用程序开发方面,云原生已经成为许多团队的常用术语。当人们调查云原生的世界时,他们经常会得出这样的观点:云原生的整个过程都是针对大型企业应用程序的。几年前,情况可能确实如此,但随着 Kubernetes 等…

Redis-使用 jedis 操作数据

文章目录 1、Jedis简介2、环境准备3、创建maven普通项目,导入如下依赖4、测试JAVA程序和Redis之间的通信 1、Jedis简介 "Jedis" 通常是作为 "Java Redis" 的缩写或简称来理解的。Java Embedded Data Structures Interface 表示 Java嵌入式数据结构接口 2、…

45、基于深度学习的螃蟹性别分类(matlab)

1、基于深度学习的螃蟹性别分类原理及流程 基于深度学习的螃蟹性别分类原理是利用深度学习模型对螃蟹的图像进行训练和识别,从而实现对螃蟹性别的自动分类。整个流程可以分为数据准备、模型构建、模型训练和性别分类四个步骤。 数据准备: 首先需要收集包…

C# 中的隐式和显式类型转换

当你需要转换值的类型时,可以使用类型转换。只有当你要转换的两种类型兼容时,才有可能。 当你收到错误“无法隐式将一种类型转换为另一种类型”时,说明你转换的两种类型不兼容。 int integer; // 声明一个名为 integer 的整型变量 integer …

【Gradio】如何设置 Gradio 数据框的样式

简介 数据可视化是数据分析和机器学习的关键方面。Gradio DataFrame 组件是一种流行的方式,在网络应用程序中显示表格数据(特别是以 pandas DataFrame 对象的形式)。 本文将探讨 Gradio 的最新增强功能,这些功能允许用户整合 pand…

解决vmware “处理器不支持 XSAVE。无法打开此虚拟机的电源。“

1,打开windows 10-11 的 虚拟机平台 选择 “开始”,输入“Windows 功能”,然后从结果列表中选择“打开或关闭 Windows 功能 ”。 在刚刚打开的 “Windows 功能”窗口中,找到“虚拟机平台 ”并将其选中。 选择“确定”。 可能需要重启电脑。…

节能减排如何替电子行业巨头降低成本

尖端科技与环境之间的矛盾,已经不再是科幻小说家笔下的虚构。 先进芯片制造从熔化硅开始,到使用大功率激光进行光刻,再到创造和维护真空状态,以及持续清洁工作,每一个环节都需要大量的电力支持。据统计,半…

在Windows上用MinGW编译OpenCV项目运行全流程

一、准备软件 OpenCV源码CMake工具MinGW工具链(需要选用 posix 线程版本:原因见此) 二、操作步骤 官网提供了VC16构建版本的二进制包,但是没有给出GCC编译的版本。所以如果使用MinGW进行构建,那就只能从源码开始构建…

聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例

前言 dynamic 是一种有别于传统变量类型的动态类型声明,刚开始接触可能在理解上会有些困难,可以简单地把它理解为一个盲盒,你可以任意猜测盒子有什么东西,并认为这些东西真正存在而进行处理,等到真正打开时&#xff0…

【尚庭公寓SpringBoot + Vue 项目实战】预约看房与租约管理(完结)

【尚庭公寓SpringBoot Vue 项目实战】预约看房与租约管理(完结) 文章目录 【尚庭公寓SpringBoot Vue 项目实战】预约看房与租约管理(完结)1、业务说明2、接口开发2.1、预约看房管理2.1.1.保存或更新看房预约2.1.2. 查询个人预约…

mysql的安装以及分享navicat for MySQL

前言 根据网上分享的安装方法以及自己遇到的问题解决方法 一、mysql是什么? mysql 是一个开放源码的小型关联式数据库管理系统 二、安装过程 1.下载安装包 下载地址:MySQL :: Download MySQL Community Server 跳过直接下载,解压即可 …

10.华为路由器使用ospf动态路由连通两个部门网络

目的:实验ospf动态路由协议连通A与B部门 AR1配置 [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24 [Huawei]vlan batch 10 [Huawei]int Vlanif 10 [Huawei]int e0/0/0 [Huawei-Ethernet0/0/0]port link-type access [Huawei-Ethernet0/0/0]por…