【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%多,在行人跌…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

