【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%多,在行人跌…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

