【Linux】部署单机项目(自动化启动)---(图文并茂详细讲解)
目录
一 准备工作
1.1 连接服务器拷贝文件
1.2 解压
二 JDK安装
2.1 配置坏境变量
2.2 查看版本
三 Tomcat(自启动)
3.1 复制启动命令的位置
3.2 添加命令相关配置文件
3.2.1 配置jdk及tomcat目录
3.2.2 添加优先级
3.3 设置自启动命令
3.4 开放端口
四 MySQL(自启动)
4.1 卸载mariadb
4.2在线下载MySQL安装包
4.3 MySQL安装包解压到指定目录
4.4 安装四个rpm
4.5 启动MySQL服务
4.6 登录mysql修改密码
4.7 授权
4.8 刷新
4.9 连接msyql
10 导入SQL脚本
五 部署项目
一 准备工作
1.1 连接服务器拷贝文件
该部署项目准备,jdk,tomcat,mysql,nginx。主机的MobaXterm工具连接我们的服务器再进行一个拖拉拷贝所需要的文件到服务器

1.2 解压
防止后面单个系列解压操作,我这边就直接将所有的要用的全部给解压,如下图
注:具体的tar -zxvf 后面解压包名根据自己的解压包名来。mysql解压包可以单独准备一个文件夹进行解压
tar -zxvf jdk-8u151-linux-x64.tar.gz //jdk解压命令tar -zxvf apache-tomcat-8.5.20.tar.gz //tomcat解压命令tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar //解压mysql命令

二 JDK安装
2.1 配置坏境变量
输入命令vi /etc/profile,添加jdk的坏境变量,添加如下的代码
#java environment
export JAVA_HOME=/javaxl/jdk1.8.0_151(jdk解压路径)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
注意:JAVA_HOME后的变量值是jdk安装目录,要根据自己jdk目录来,其它不变

2.2 查看版本
命令:java -version

三 Tomcat(自启动)
3.1 复制启动命令的位置
为了我们的tomcat每次重新启动项目都需要重新启动tomcat及mysql这样的操作繁琐,所以我们要学习如何给tomcat及mysql进行自启动这样每次Linux启动它们就jdk,mysql就紫气东来非常方便,下面小编带大家学习
进入tomcat安装目录下的bin根目录下,复制catalian.sh命令到/etc/init.d文件中,并且进入该init.d文件下修改该命令名称为tomcat。具体命令如下
cp catalina.sh /etc/init.d //复制catalina.sh到/etc/init.d文件下
cd /etc/init.d //进入init.d文件下
mv catalina.sh tomcat //将catalina.sh名称改成tomcat名称

3.2 添加命令相关配置文件
3.2.1 配置jdk及tomcat目录
JAVA_HOME=/opt/Java/jdk1.8.0_151 <------------------jdk安装目录
CATALINA_HOME=/opt/Java/apache-tomcat-8.5.20 <----------tomcat安装目录

3.2.2 添加优先级
#chkconfig: 23456 10 90
#description: tomcat service

3.3 设置自启动命令
chkconfig --add tomcat

3.4 开放端口
开放8080端口就能让主机连接我们Linux中的tomcat,后续我们还要连接mysql这里我就也一起开放了3306的端口
#开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent如要设置8080端口把3306改成8080即可
---------------------------------------------------------------------------------------
#跟新防火墙规则
firewall-cmd --reload---------------------------------------------------------------------------------------
#防火墙列表
firewall-cmd --zone=public --list-ports---------------------------------------------------------------------------------------
#防火墙状态
systemctl status firewalld---------------------------------------------------------------------------------------
#启动防火墙
systemctl start firewalld---------------------------------------------------------------------------------------
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

四 MySQL(自启动)
4.1 卸载mariadb
#1.卸载mariadb,否则安装MySql会出现冲突(先查看后删除再查看)
[root@192 ~]# rpm -qa|grep mariadb (查看mariadb)mariadb-libs-5.5.56-2.el7.x86_64
----------------------------------------------------------------------------------
[root@192 ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 (删除mariadb)注:(nodeps后的根据自己查询的mariadb的来)
----------------------------------------------------------------------------------
[root@192 ~]# rpm -qa|grep mariadb

在下面命令中,大概都是需要去执行的
但是第4.2二点自己已经拷贝了mysql安装包就不需要了
第4.3点根据自己的想要解压mysql的位置进行解压吧,然后下面其他红色命令都是要执行的
4.2在线下载MySQL安装包
(也可提前下载好上传) 前面我们自己上传了就不需要在线下载了
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar---------------------------------------------------------------------------------------------------------------
4.3 MySQL安装包解压到指定目录
mkdir mysql-5.7
tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7---------------------------------------------------------------------------------------------------------------
4.4 安装四个rpm
开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度
cd mysql-5.7
rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm如果第四条下载失败使用下面的命令,再进行重新下载即可
sudo yum install -y perl---------------------------------------------------------------------------------------------------------------
4.5 启动MySQL服务
systemctl start mysqld
systemctl enable mysqld.service (自启动命令)
---------------------------------------------------------------------------------------------------------------
4.6 登录mysql修改密码
[root@192 mysql-5.7]# grep "password" /var/log/mysqld.log
2022-10-12T13:19:16.313408Z 1 [Note] A temporary password is generated for root@localhost: o8N#/CfWD+sh <-----红色部分是初始密码
[root@192 mysql-5.7]# mysql -uroot -p
Enter password:o8N#/CfWD+sh <-----填写初始密码,填的时候看不见
Welcome to the MySQL monitor. Commands end with ; or \g.#设置密码校验策略(0 or LOW),要不密码太LOW不让你过
set global validate_password_policy=0;
#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;
#更新密码
set password = password("123456");---------------------------------------------------------------------------------------------------------------
4.7 授权
Centos7下无法远程连接mysql数据库
#数据库没有授权,允许以root身份远程登录mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;--------------------------------------------------------------------------
4.8 刷新
FLUSH PRIVILEGES;
4.9 连接msyql
填写,inuxIP地址加上密码即可连接
主机连接Linux的数据库成功!

10 导入SQL脚本
进入mysql导入我们的sql脚本
注:数据库名与密码与jar包中的是否一致

五 部署项目
将部署的jar包拷贝到tomcat下的webapps下

最后输入服务器重启命令:reboot
用服务器IP加项目路径进行访问
访问成功!这样以后访问该项目都不要再重新启动服务器啦

相关文章:
【Linux】部署单机项目(自动化启动)---(图文并茂详细讲解)
目录 一 准备工作 1.1 连接服务器拷贝文件 1.2 解压 二 JDK安装 2.1 配置坏境变量 2.2 查看版本 三 Tomcat(自启动) 3.1 复制启动命令的位置 3.2 添加命令相关配置文件 3.2.1 配置jdk及tomcat目录 3.2.2 添加优先级 3.3 设置自启动命令 3.4 开放端口 四 My…...
修复Microsoft Edge WebView2无法安装的问题
修复Microsoft Edge WebView2无法安装的问题 场景解决方案 场景 系统:win11 电脑:联想14 前提:使用Geek Uninstaller强制删除了Microsoft Edge WebView2 同时下载了clash verge。 发现根本无法运行(点击了无任何反应且图标颜色…...
Linux命令-chgrp命令(用来变更文件或目录的所属群组)
说明 chgrp命令 用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。其中,组名 可以是用户组的id,也可以是用户组的组名。文件名可以 是由空格分开的要改变属组的文件列表,也 可以是由通配符描述的文件集合。如果用户不是…...
linux下搭建boost、muduo、mysql、nginx
参考博客: 1.boost:C网络编程 - Boost::asio异步网络编程 - 01- boost库源码编译安装 2.muduo:C muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装 3.mysql: sudo apt-get install mysql-server sudo apt-get inst…...
java基础-List常用方法
目录 常用方法逆序升序List<自定义类>排序List删除元素List转String数组List的add函数查找一个,分隔的字符串中是否有某值根据.分割字符串根据空格分隔字符串 常用方法 逆序 Collections.reverse(List) 升序 Collections.sort(List) List<自定义类>排序 首先…...
Android 如何添加自定义字体
Android 如何添加自定义字体 比如我要添加 jetbrains 相关字体 在 res 文件夹中添加 font 文件夹。里面放入你的字体文件 .ttf .otf,字体文件名需要是小写,只能是字母和下划线。 在 xml 布局文件中直接通过 android:fontFamily"font/jetbrainsmo…...
MacOs 围炉夜话
文章目录 一、安装 Mac 一、安装 Mac macOS是一套由苹果开发的运行于Macintosh系列电脑上的操作系统。macOS是首个在商用领域成功的图形用户界面操作系统。 VM虚拟机怎么安装mac os?(全教程) 虚拟机:VMware Workstation 17 pro W…...
爬取数位观察城市数据知识总结
# 抓取数位观察中城市的GDP,公交车数量,户籍人口 # url "https://www.swguancha.com/home/query-city-page" # 1.找数据 # 1.1如果数据在页面源代码里,则访问,在本案例中并没有在源代码中 # 1.2如果数据不在页面源代码里ÿ…...
[About-C++] 非常实用的知识点
往期推荐: [龙年第一更]专门说递归-CSDN博客 洛谷P1427 小鱼的数字游戏--------C中的栈与队列-CSDN博客 (并不华丽的分割线) 进入正文 一,自定义函数 类型 C中自定义函数(以下简称“函数”)只有两种&…...
渗透工具——kali中wpscan简介
一、什么是wpscan 1、常用于做用户名枚举爆破 2、WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto ,它是一款非常棒的Web 服务器评估工具,…...
信息安全计划:它是什么、为什么需要一个以及如何开始
每个组织都需要一个信息安全计划,因为数据已成为世界上最有价值的商品。与所有珍贵的东西一样,数据受到管理机构的严格监管,并且受到每个人(包括骗子)的觊觎。这就是网络犯罪不断增加的原因——与日益严格的合规环境同…...
【软件测试】定位前后端bug总结+Web/APP测试分析
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Web测试中简单…...
Github 2024-02-21 开源项目日报 Top10
根据Github Trendings的统计,今日(2024-02-21统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目8非开发语言项目1TypeScript项目1 gpt4free 语言模型集合改进计划 创建周期:300 天开…...
机器学习模型的过拟合与欠拟合
机器学习模型的训练过程中,可能会出现3种情况:模型欠拟合、模型正常拟合与模型过拟合。其中模型欠拟合与模型过拟合都是不好的情况。下面将会从不同的角度介绍如何判断模型属于哪种拟合情况。 (1)欠拟合与过拟合表现方式 欠拟合…...
华为OD机试真题-虚拟游戏理财-2023年OD统一考试(C卷)---Python3--开源
题目: 考察内容: for if max 代码: """ 题目分析:投资额*回报率投资回报 要在可接受范围内选择最优的投资方式获得最大回报最多投资2个理财产品输入: 产品数int; 总投资额int; 总风险int 产品投资…...
新手搭建服装小程序全攻略
随着互联网的快速发展,线上购物已经成为了人们日常生活中不可或缺的一部分。服装作为人们日常消费的重要品类,线上化趋势也日益明显。本文将详细介绍如何从零开始搭建一个服装小程序商城,从入门到精通的捷径,帮助你快速掌握小程序…...
设计模式学习笔记 - 面向对象 - 3.面向对象比面向过程有哪些优势?面向过程真的过时了吗?
简述 在过往的工作中,我发现很多人搞不清面向对象和面向过程的区别,总认为使用面向对象编程语言来开发,就是在面向面向对象编程了。而实际上,他们只是在用面向对象编程语言,编写面向过程风格的代码而已,并…...
联想开天昭阳N4620Z笔记本如何恢复出厂麒麟操作系统(图解)
联想开天昭阳N4620Z笔记本简单参数: 中央处理器:KX-6640MA G2 内存:8GB 固态硬盘:512GB SSD 显示器:14.0”FHD 电池:4Cell 操作系统:麒麟KOS中文RTM(试用版) 此款笔…...
Qt经典面试之理论总结(自己整理总结)
目录 1、QT信号和槽的原理和理解 2、connect函数的参数,第五个参数是什么 1、QT信号和槽的原理和理解 信号和槽机制底层是通过函数间的相互调用实现的。 信号函数和槽函数通常位于某个类中,和普通的成员函数相比,它们的特别之处在于&#…...
【YOLO系列算法人员摔倒检测】
YOLO系列算法人员摔倒检测 模型和数据集下载YOLO系列算法的人员摔倒检测数据集可视化数据集图像示例: 模型和数据集下载 yolo行人跌倒检测一: 1、训练好的行人跌倒检测权重以及PR曲线,loss曲线等等,map达90%多,在行人跌…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
Mysql故障排插与环境优化
前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...

