Windows服务器部署基于【若依管理系统】开发的项目

news2024/11/28 22:34:07

🎯导读:本文档详述了基于前后端分离的若依系统(版本3.8.8)在Windows环境下从零开始的部署流程,包括JDK、Redis、MySQL等环境的搭建与配置。前端部署涉及Vue项目构建、图片优化及利用Nginx托管;而后端则涵盖Spring Boot应用的日志路径调整、配置文件修改与最终的jar包构建及运行。此外,文档还提供了服务器端口开放及防火墙设置的方法,确保部署的服务可被外部访问。本文旨在帮助开发者顺利完成项目的本地部署与测试。

文章目录

  • 若依版本说明
  • 环境安装
    • JDK
    • Redis
    • MySQL
    • RabbitMQ安装
    • Nginx安装
  • 部署过程
    • 前端
      • 修改生产环境配置
      • 处理找不到模块错误
      • 图片压缩
      • 打包
      • 打包文件上传服务器nginx
      • 修改Nginx配置文件
      • 启动Nginx
    • 后端
      • 修改日志路径
      • 修改配置文件
      • 执行打包
      • 服务器运行jar
    • 开放端口

若依版本说明

本文演示版本为前后端分离单机版本,版本号为3.8.8(下载地址),如果其他版本部署方式略有不同也正常
在这里插入图片描述

环境安装

平时都用Linux部署项目,使用Docker安装环境巴适得很(现在不太巴适了,国内的镜像很多都被封了)。虽然Win也可以安装Docker,但是还要开启虚拟化,也挺麻烦的

JDK

教程太多了,随便找都可以用

Redis

【Win开发环境搭建】Redis与可视化工具详细安装与配置过程

MySQL

【Win开发环境搭建】MySQL8安装+重装的数据备份方法【提供MySQL8.0.27版本的压缩包】

RabbitMQ安装

RabbitMQ是我项目额外使用的,跑若依本身不需要安装

Windows 安装配置 RabbitMQ 详解

Nginx安装

Nginx的作用主要是用于挂载前端项目

Nginx官方下载地址

因为服务器是win,所以下载win版本

在这里插入图片描述

部署过程

前端

前端部署会有一些小坑,建议跟着我的步骤来走

修改生产环境配置

把请求后端的ip端口改成后端服务所部署的ip端口

在这里插入图片描述

处理找不到模块错误

如果不做下面的修改,访问非首页的其他页面,会出现cannot find module错误

在这里插入图片描述
【修改方式】
修改如下两个文件

component: (resolve) => require(['@/views/system/user/authRole'],resolve),

在这里插入图片描述

return (resolve) => require([`@/views/${view}`], resolve)

在这里插入图片描述

图片压缩

若依系统自带的登录页背景图片大小是510KB(我这里换成其他的图片了,原图大小是3045KB),但是我的服务器的下载速度每秒最高只有128KB,假如使用这个图片,需要加载20多秒,用户的体验机及其差。其实图片不一定要分辨率那么高,只要看起来不模糊即可,为了优化用户的体验,需要对图片进行压缩。

经过使用压缩网站的压缩,图片大小变成552KB,但是还是需要花费4秒多的时间来加载,体验感还是不好。

在这里插入图片描述
最后使用PS进行进一步的压缩,把图片压缩到58KB,这样几百毫秒就可以成功加载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打包

点击按钮即可执行打包

在这里插入图片描述
当然也可以在终端执行命令npm run build:prod来打包

在这里插入图片描述
出现Build complete,说明打包成功

在这里插入图片描述
打包成功之后生成如下文件

在这里插入图片描述

打包文件上传服务器nginx

在服务器中解压上面下载的Nginx压缩包

在这里插入图片描述
在html目录下面创建一个文件夹,名称你喜欢就行,建议使用项目的名称

在这里插入图片描述

将刚刚打包的文件丢上来

在这里插入图片描述

修改Nginx配置文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

location / {
    root   html/ipsFront;
    index  index.html index.htm;
	try_files $uri $uri/ /index.html;
}

添加try_files $uri $uri/ /index.html;是为了解决网页刷新报404的问题,如果不信,可以把这个删掉试一下

启动Nginx

在这里插入图片描述

在命令行中执行nginx.exe即可,注意要先定位到nginx所在目录

在这里插入图片描述

如下方式可以快速在命令行中定位到当前目录

在这里插入图片描述

启动完nginx,前端就算部署完了,等开放了端口,就可以通过ip地址:81访问前端页面了

后端

修改日志路径

项目一开始使用的是绝对路径,建议改成相对路径

在这里插入图片描述

后续运行之后,会自动在jar包同一层级创建一个logs文件夹来存储日志

在这里插入图片描述

修改配置文件

在这里插入图片描述
修改Redis、MySQL、RabbitMQ的连接ip和端口为服务器中间件的ip和端口。(建议创建dev、prod配置文件,来实现环境隔离,不用每次修改一堆配置)

执行打包

在这里插入图片描述

打包成功之后,生成如下jar,将该jar包放到服务器中运行即可

在这里插入图片描述

服务器运行jar

在相应目录运行如下命令启动程序

java -Xmx2048M -Xms2048M -jar ips-admin.jar

建议创建.bat批处理文件,把上面的命令丢进去,后面就可以直接双击bat文件启动,更加方便

在这里插入图片描述

开放端口

本文所用服务器在腾讯云购买,需要在安全组中编辑规则来开放相关的端口

在这里插入图片描述

将前端和后端的端口开放出来,因为我中间件都安装在服务器本机,直接用localhost访问即可,不需要开放端口,开放端口也不安全(注意,尽量使用一些少见的端口,例如MySQL不用3306,用其他的,且服务一定要设置比较难的密码,不然很容易被破解攻击)

在这里插入图片描述

执行到这一步,可以试试你的前后端是否可以访问了,如果可以访问,万事大吉,退出本文即可(当然退出之前,点个赞,我会很开心,哈哈哈)

我这台服务器光有上面的操作,还无法真正开放端口,还需要进一步管理服务器的防火墙

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
开放和上面一样的端口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

猫咪掉毛严重如何清理?希喂,霍尼韦尔宠物空气净化器实测分享

随着养宠人群的增多,市场关注到铲屎官们的需要,带来了新的科技产品——宠物空气净化器。宠物空气净化器是在普通空气净化器基础上,调整服务对象,为吸附宠物毛发而设计的。不少消费者被它的功能所吸引,打算购入使用。然…

带你速通C语言——函数(11)

在 C 语言中,函数是组织代码的重要方式,它们允许我们将代码划分为可重用的模块,每个模块执行特定的任务。函数的使用有助于代码的清晰性和维护性,也是编写结构化程序的基本构建块之一。 1.函数的基本组成 在 C 中定义函数时&…

Agentic Security:一款针对LLM模型的模糊测试与安全检测工具

关于Agentic Security Agentic Security是一款针对LLM模型的模糊测试与安全检测工具,该工具可以帮助广大研究人员针对任意LLM执行全面的安全分析与测试。 请注意 Agentic Security 是作为安全扫描工具设计的,而不是万无一失的解决方案。它无法保证完全防…

八爪鱼现金流-034,实际使用,资产折线图

每个月发工资后,记账月报。 回顾资产折线图。 比较大的波动,一次是22年2月左右贷款买房。一次是24年8月宝宝出生。 孩子开销太大。呜呜呜。 话说,这个折线图,能不能加一个标签或者备注呢? 这个需求功能稍后我研究一…

【STM32 HAL库】寻迹小车 开环控制 状态机 TB6612+TCRT5000+HC-05

【STM32 HAL库】寻迹小车 开环控制 状态机 TB6612TCRT5000HC-05 前言硬件硬件准备模块说明主控 APM32F103VBT6核心板DC/DC降压模块TB6612电机驱动TCRT5000红外循迹模块HC-05蓝牙透传模块 代码逻辑宏观框架状态机 框架测试微观模块电机模块循迹模块蓝牙控制模块 前言 碎碎念一下…

keepalived安装-centos7

一、yum安装 1、安装Keepalived: yum install -y keepalived 2、启动Keepalived服务: systemctl start keepalived 3、设置Keepalived服务开机自启 systemctl enable keepalived 4、检查Keepalived服务状态: systemctl status keepal…

VAuditDemo常规漏洞

VAuditDemo常规漏洞 一、留言类功能漏洞 messageDetail.php - 存在数字型SQL注入,反射型XSS SQL注入 sqlwaf修改措施 反射型XSS messageSub.php search.php - 存在反射型xss 二、用户操作类漏洞 1、登录功能 logCheck.php - 空验证码绕过漏洞 2、编辑用户信息类 upd…

秘密指南!浮毛会危害人体健康吗?宠物空气净化器帮助解决危害

每当立秋一到,对于我这样的重度鼻炎患者而言,无疑是又一轮掉毛季的预警。家中猫咪的毛发仿佛永远扫不尽,皮屑也无处不在,让人头疼不已。好在,两年前我采纳了宠物医生的建议,用上了宠物空气净化器&#xff0…

Element-plus el-input 添加图标

案例图 根据官方文档来,我们需要先注册图标并应用到全局。 import { createApp } from "vue" import App from "./App.vue"const app createApp(App) //创建VUE对象import * as ElementPlusIconsVue from "element-plus/icons-vue"f…

竞争和冒险

竞争和冒险 文章目录 竞争和冒险总结 产生原因 数字电路中,信号传输与状态变换时都会有一定的延时。 在组合逻辑电路中,不同路径的输入信号变化传输到同一点门级电路时,在时间上有先有后,这种先后所形成的时间差称为竞争&#xf…

【方法】如何给ZIP压缩文件添加密码?

如果想要保护ZIP压缩文件不被他人随意打开,可以设置密码保护,那要如何设置呢?下面推荐两种方法,一起来看看吧! 方法1: 如果想在压缩文件的时候,同时设置密码,可以使用WinRAR或者7-…

Qt 系统相关 - 文件

目录 1. 文件概述 2. 输入输出设备类 3. 文件读写类 4. 文件和目录信息类 1. 文件概述 文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。 Qt 提供了很多关于文件的类,通过这些类能够对文件系统进行操作&#x…

04.震动控制灯

vibrate 的意思就是震动 #include "reg52.h" #include <intrins.h>sbit led1 P3^7; sbit vibrate P3^3;void Delay2000ms() //11.0592MHz {unsigned char i, j, k;_nop_();i 15;j 2;k 235;do{do{while (--k);} while (--j);} while (--i); }void main()…

1块钱的家用桶装水抽水泵方案开发

目录 背景介绍需求分析 背景介绍 2024年8月&#xff0c;接到惠州大亚湾客户一个开发桶装水的一个PCB方案开发&#xff0c;要求成本控制在1万套&#xff0c;Bom成本在一块钱。 说干就干&#xff0c;先在网上搜索一下目前市面上的方案。 需求分析 想这种传统的桶装水是手动的…

DVWA综合靶场漏洞讲解

目录 综合靶场漏洞讲解 Brute Force Low Medium High Command Injection Low Medium High File Inclusion Low,Medium,High File Upload Low Medium High SQL Injection Low Medium High SQL Injection (Blind) Low Medium High XSS&#xff08;DOM&am…

未来购物新境界:商品样机3D展示可视化引领潮流

在这个日新月异的数字时代&#xff0c;科技的每一次飞跃都在深刻改变着我们的生活方式&#xff0c;尤其是购物体验。从传统的实体店选购到线上商城的便捷浏览&#xff0c;再到如今商品样机3D展示可视化的兴起&#xff0c;消费者正逐步踏入一个前所未有的沉浸式购物新时代。 想象…

layui table表单 checkbox选中一个其它也要选中

当我们选中其中一个商品的时候同类型的商品状态也要跟着改变 所以要在表单加载完成后去监听checkbox ,done:function (res) {console.log(详情表格数据,res)tableDetailList res.data;// 监听表格复选框选择table.on(checkbox( INST_SELECTORS.instLayFilters.unpaidTableDe…

亚马逊erp开子账号上百种权限,个人货代选品商标分配

亚马逊全功能 ERP 选品商标分配&#xff0c;上百种权限分配。 说说 ERP 子账号的相关操作&#xff01; 1. 哈喽大家好&#xff01;对于需要子账号多开的卖家来说&#xff0c;多个子账号进行智能分配可以减少个人操作的时间&#xff0c;提升团队的工作效率。今天就来和我一起看…

黄热病疫苗市场调研:预计到 2030 年全球市场规模将达到 1.8 亿美元

一、黄热病疫苗市场研究 &#xff08;一&#xff09;发展趋势 1. 市场规模增长&#xff1a;据调研团队报告所示&#xff0c;预计到 2030 年全球黄热病疫苗市场规模将达到 1.8 亿美元&#xff0c;年复合增长率为 3.0%。这表明市场在未来几年将保持稳定增长态势。增长的原因主要…

MESI 协议:多核处理器的一致性解决方案

文章目录 概述MESI 协议的基本原理概念协议状态 工作机制缓存行状态转移状态转换图状态转换表典型的状态转换示例详细的状态转换说明 写缓冲区 & 失效队列写缓冲区&#xff08;Store Buffer&#xff09;失效队列&#xff08;Invalidation Queue&#xff09; Java内存模型应…