Windows 项目从0到1的部署
目录
一. 安装jdk
1.1 安装jdk
1.2 配置jdk的环境配置jdk
1.3 配置成功
二. 配置tomcat
2.1 启动tomcat
2.2 防火墙设置
三. 安装MySQL
3.1 安装步骤
3.2 内部连接
3.3 外部连接
四. 部署项目
4.1 项目部署
4.2 修改mysql的用户密码
一. 安装jdk
这里给大家准备好了jdk和tomcat:
提取码:pwd=vr2m
https://pan.baidu.com/s/1vAcEelpoBinLeUt1JtKNYg?pwd=vr2m
可以建立一个文件夹,将jdk文件和tomcat文件拷贝进来,进行安装

1.1 安装jdk
1. 双击jdk,进行一个傻瓜式安装

2. 记住jdk的安装路径(你可以对安装的路径进行修改,后面也会有一次安装路径的修改)

3. 安装成功

1.2 配置jdk的环境配置jdk
1. win+x+y 打开虚拟机中的系统(在本机可以直接搜索高级系统设置)
选择高级系统设置,点击环境变量

2. 配置环境变量
变量设置参数如下:
- 变量名:JAVA_HOME
- 变量值:C:\Program Files\Java\jdk1.8.0_144 // 要根据自己安装的路径配置
- 变量名:CLASSPATH
- 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."
- 变量名:Path
- 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; // 要在原有的Path后面增加一个 ";"
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_144

CLASSPATH: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

Path: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

1.3 配置成功
测试是否安装成功:
1. win+r,输入cmd,回车
2. 输入java -version进行测试

二. 配置tomcat
2.1 启动tomcat
右键解压,进入bin目录里面,双击startup.bat打开tomcat

如果不能双击打开,那么徽标+r,输入cmd,然后 cd 进入到tomcat的bin目录下,输入startup.bat打开tomcat
测试:输入虚拟机的IP地址 (你的ip地址) +:8080的端口号,出现下方界面,代表tomcat启动成功

注意:我们之所以能成功启动tomcat,那是因为防火墙全是关闭的状态,如果开启防火墙一般是访问不成功的,这时则需要设置防火墙,开启端口。
2.2 防火墙设置
开启防火墙

查看tomcat的开启情况: 连接超时

新建规则:在防火墙的高级设置里面
第一步:在入站规则--->右键--->新建规则

第二步:选中端口

第三步:输入你想要开放的端口号,可以设置区间或者单个,下一步

第四步:选中允许连接,下一步

第五步:可以将这些选项都选上

第六步:给端口取个名字,加以描述,点击完成

第七步:旁边可以看见我们刚刚设置好的端口,然后点击启用规则,端口便可以使用了,浏览器便可以进行对应端口的访问了 (设置完入站规则默认是启用的)

测试:连接成功

三. 安装MySQL
3.1 安装步骤
第一步:右键进行解压 ---> 选择解压的位置
将zip包解压到指定目录,例如:D:\tools\mysql-5.7.23-winx64
注:尽量不要放到C盘,win10系统权限不够会报错,很麻烦
(博主是在虚拟机中进行操作的,大家根据自己的电脑磁盘选择安装位置就好)

第二步:把之前文件夹中的 my.ini 文件拷贝到解压成功后的文件夹目录中

第三步:复制其安装目录的地址

第四步:选择 my.ini 文件 ---> 右键 ---> 选择编辑

第五步:进入到 my.ini 记事本中进行操作
1. 把刚刚复制的目录地址,粘贴到mysql的安装目录,记得把单斜杠改为双斜杠
2. 把安装目录的路径复制一份,放到数据的存放目录下,在最后加\\data
3. 最后 "ctrl+s" 进行保存

注意:请不要自己创建data文件夹,这样会导致服务无法启动,由mysql自动生成data就好
第六步:以管理员的方式打开cmd命令窗口(不要直接打开cmd运行,可能会报错),并且进入到mysql安装目录的bin目录下。比如:cd D:\tools\mysql-5.7.23-winx64\bin(输入你自己的安装目录即可)

第七步:安装 输入mysqld install 出现success字样即安装成功

注意: 在安装时可能会出现这样的错误(丢失MSVCR 120.dll/140.dll)

那么建议大家安装一个 VC++ 运行环境
第八步:初始化 mysqld --initialize --console
注意:添加--console参数初始化完成以后,会在控制台最后打印出一个临时密码,复制下来一会有用。 A temporary password is generated for root@localhost: aK=5pleDX1Wo

第九步:启动/停止(也可以在window服务里启动或停止) 执行 net start mysql 命令
启动: net start mysql 停止: net stop mysql

第十步:在控制台命令方式登陆mysql
输入:mysql -P 3306 -u root -p ,输入之前生成的临时密码

第十一步:修改密码 输入:SET PASSWORD = PASSWORD("123456");

3.2 内部连接
使用navicat进行测试

第一步:点击连接 ---> 选择MySQL

第二步:输入连接信息
1. 输入连接名:输入:localhost 即可,你也可以自己取个名称
(我们是内部连接,主机不用改变:localhost)
2. 输入密码:输入我们修改后的密码:123456
3. 点击连接测试

连接成功:

3.3 外部连接
当别人第一次连接我们的MySQL时,很大概率是连接不成功的:

解决方法:
第一步:在本机的navicat中找到 mysql 的 user

第二步:把用户 root 的 Host 改为 % ,记得点下面的 √ 进行保存

第三步:编写代码赋所有权限给root用户
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;

第四步:在防火墙高级设置中,点击入站规则 ---> 新建规则 ---> 设置端口3306,并启用该规则

启用:

连接成功(主机设置你要连接的电脑的ip):

四. 部署项目
4.1 项目部署
第一步:把你想要进行部署的项目的war包放到tomcat的webapps中

第二步:进入到tomcat的bin目录里面 ---> 双击startup.bat文件,启动tomcat

第三步:tomcat服务开启成功

第四步:在浏览器的地址栏输入 ip地址+tomcat的端口号+war包的项目名
例如:192.168.114.130:808/oapro

第五步:进入之前我们放war包的webapps中,可以看见生成了一个和war包相同名称的文件夹

第六步:进入oapro文件夹 ---> WEB-INF ---> classes --->
com.zking.oapro ---> util --- >查看 config.properties

第七步:在 #mysql中,我们可以看到数据库名、用户名以及密码
(密码要与数据库一致,否则连接不成功)

第八步:在navicat中创建数据库,导入数据,可以进入到t_oa_user表中查看登录信息

第九步:登录

第十步:效果演示

4.2 修改mysql的用户密码
在前面安装mysql时设置的密码和后面项目的连接密码不一致时我们应该怎么办
- 修改用户密码:
#命令:set password for 用户名=password('新密码');
set password for root=password('123456');
flush privileges;
第一步:把上面的密码复制到mysql中进行修改
第二步:把之前war包生成的oapro文件夹进行删除
第三步:再次进入到tomcat的bin目录下,startup.bat启动项目
第四步:最后在浏览器中再次进行登录
相关文章:
Windows 项目从0到1的部署
目录 一. 安装jdk 1.1 安装jdk 1.2 配置jdk的环境配置jdk 1.3 配置成功 二. 配置tomcat 2.1 启动tomcat 2.2 防火墙设置 三. 安装MySQL 3.1 安装步骤 3.2 内部连接 3.3 外部连接 四. 部署项目 4.1 项目部署 4.2 修改mysql的用户密码 一. 安装jdk 这里给大家准备好了jdk和…...
基于SSM的戏剧推广网站的设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue、HTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是…...
监督学习 - 梯度提升机(Gradient Boosting Machines,GBM)
什么是机器学习 梯度提升机(Gradient Boosting Machines,GBM)是一种集成学习方法,通过将多个弱学习器(通常是决策树)组合成一个强学习器来提高模型的性能。GBM的训练过程是通过迭代,每一步都根…...
Mac M1 Parallels CentOS7.9 Install Jenkins
官网: https://www.jenkins.io/ 一、Install & Check Java Env Oracle官网下载Java: https://www.oracle.com/cn/ # 拷贝到Jenkins服务器 scp Downloads/jdk-11.0.21_linux-aarch64_bin.tar.gz root10.211.55.34:~# 解压 mkdir -p /opt/java && tar -zxvf jdk-11…...
【基于 InternLM 和 LangChain 搭建你的知识库】学习笔记
学习参考文档【基于 InternLM 和 LangChain 搭建你的知识库】 学习参考链接【书生・浦语大模型实战营第三课作业(基础进阶)】 理论 实战 收集原始数据 收集2018年-2020年几年间的优秀数学建模论文 修改脚本文件,测试文件 作业 复现课程知识库助手搭建过程 La…...
Redis面试系列-03
1. 为什么 Redis 集群的最大槽数是 16384 个? 在redis节点发送心跳包时需要把所有的槽放到这个心跳包中,以便让节点知道当前集群信息,即1638416k,在发送心跳包时使用char进行bitmap压缩后是2k(2*8 (8bit)*1024(1k)16K…...
如何结合告警丰富获取拨测失败的原因?
本期最佳实践为您揭秘: 如何使用pongo2模板语言获取指定的字符串内容如何结合告警丰富,过滤出有效的告警信息 「 背 景 」 在此前的最佳实践当中,我们为大家介绍了一个好的告警通知应该具备的条件。在一般的指标告警中,在告警信…...
学习JavaEE的日子 day12 构造方法 类的制作
Day12 需求:创建人类的对象,并操作对象 分析: 人类 - Person 属性:name、sex、age 方法:eat、sleep 场景:创建多个对象,去操作对象 //测试类:该类中有main方法,测试我们写…...
Mybatis-Plus基础学习
目录 第一章、快速了解mybatis-plus1.1)相关概念介绍1.2)为什么使用MyBatis-Plus1.3)学习过程中的疑问 第二章、 MyBatis-Plus与SpringBoot集成2.1)使用Spring Initializr创建SpringBoot项目2.2)安装Lombok插件2.3&…...
C#微信公众号HIS预约挂号系统源码
微信公众号预约挂号系统、支付宝小程序预约挂号系统主要是让自费、医保患者在手机上就能实现就医全过程,实时预约挂号、自费、医保结算,同时还可以查询检查检验报告等就诊信息,真正实现了让信息“多跑路”,让群众“少跑腿”。系统…...
MySQL基础笔记(6)函数
函数:是指一段可以直接被另一段程序调用的程序或者代码~(MySQL内置) 一.字符串函数 trim不能去除中间的空格~ select concat(jsl,1325): 执行如上的代码,返回字符串"jsl1325"。 select lower(JSL); 执行如上的代码&…...
初识 Elasticsearch 应用知识,一文读懂 Elasticsearch 知识文集(2)
🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…...
Defi安全--Zunami Protocol攻击事件分析
其它相关内容可见个人主页 1 Zunami攻击事件相关信息 2023.8.13发生在Ethereum上发生的攻击,存在两个攻击交易,具体信息如下: 攻击合约地址:Contract Address 攻击合约 攻击者地址:Zunami Protocol Exploiter 攻击…...
虾皮电商 电商平台:虾皮(Shopee)东南亚领先的电子商务平台
在当今数字化时代,电子商务平台的兴起改变了人们的购物方式。虾皮(Shopee)作为东南亚地区领先的电子商务平台,为消费者提供了便捷、多样化的购物体验。由新加坡的Sea Group(前称Garena)于2015年创立&#x…...
【降龙算法】基于QT插件机制实现一个机器视觉算法小框架
机器视觉行业有各种各样的拖拉拽框架,也叫做低代码平台,例如国内海康的VisionMaster: 一个机器视觉框架需要包含各种算法模块,日志窗口,图像显示窗口等等,【降龙算法】就是做了一个入门级的机器视觉算法框…...
智能路由器 端口映射 (UPnP) Padavan内网端口映射配置方法
新版本Padavan 4.4内核的端口映射配置和老版本的不太一样,因为新版本默认是启用的 UPnP端口映射, 同时默认使用的是 IGD UPnP自动端口映射, UPnP名词解释: UPnP通用即插即用,是一组协议的统称,是一种基于TCP/IP、UDP和HTTP的分布式、开放体系ÿ…...
MR-GCN
∘ Φ \circ_Φ ∘Φ denotes a convolution Let b l o c k d i a g blockdiag blockdiag(A) be a n1n3-by-n2n3 block diagonal matrix, f o l d fold fold indicate its inverse operator diagonal degree tensor D \mathcal{D} D 作者未提供代码...
Java http 响应式请求和非响应式请求有什么区别
在Java中,HTTP的响应式请求和非响应式请求有以下区别: HTTP协议本身并不直接支持响应式请求,因为HTTP是基于请求-响应模型的。然而,可以通过使用其他技术和协议来实现响应式请求。 响应方式:响应式请求是指使用响应式编…...
CHS_06.2.1.6_2+线程的实现方式和多线程模型
CHS_06.2.1.6_2线程的实现方式和多线程模型 知识总览线程的实现方式用户级线程(User-Level Thread, ULT)内核级线程 多线程模型一对一模型多对一多对多模型 知识回顾 在上个小节中 我们学习了线程相关的一些基本概念 基础的知识 那这个小节中 我们回来看…...
k8s集群配置NodeLocal DNSCache
一、简介 当集群规模较大时,运行的服务非常多,服务之间的频繁进行大量域名解析,CoreDNS将会承受更大的压力,可能会导致如下影响: 延迟增加:有限的coredns服务在解析大量的域名时,会导致解析结果…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
