如何在Linux上安装JDK、Tomcat和MySQL以及部署后端项目

news2025/7/25 10:02:36

目录

前言

一、JDK和Tomcat的安装

1.JDK安装

2.Tomcat安装

二、安装MySQL

三、后端接口部署

1.将ssh前后端分离项目进行部署

​2.将单体项目进行部署

3.将ssm前后端分离项目进行部署并修改端口号


前言

随着现代软件开发的快速发展,越来越多的企业和个人开始使用Linux作为服务器操作系统。当涉及到在Linux上安装JDK、Tomcat和MySQL以及部署项目的时候,这将成为一个非常重要的任务。因此,在本篇博客中,我们将介绍如何在Linux上安装JDK、Tomcat和MySQL,并且详细讲解如何在Linux上部署后端项目。让我们开始吧!

一、JDK和Tomcat的安装

1.JDK安装

访问Oracle官网并下载适用于Linux的JDK安装包(tar.gz格式)直接下载的

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/18.0.2%2B7/0d1cfde4252546c6931946de8db48ee2/jdk-18.0.2_linux-x64_bin.tar.gz

或者

先下载之后直接上传到Linux服务器的,上传jdk、tomcat安装包

解压JDK安装包

//解压jdk
tar -zxvf jdk-8u151-linux-x64.tar.gz

配置环境变量(JAVA_HOME和PATH)

vim /etc/profile
在文件末尾添加以下内容:
//java environment
export JAVA_HOME=/glgj/software/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

使配置生效:

#设置环境变量生效
source /etc/profile

验证JDK安装成功

java -version

2.Tomcat安装

访问Apache Tomcat官网下载Tomcat安装包(tar.gz格式)

wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-10/v10.0.12/bin/apache-tomcat-10.0.12.tar.gz

或者

先下载之后直接上传到Linux服务器的

解压tomcat安装包

#解压tomcat
tar -zxvf apache-tomcat-8.5.20.tar.gz

启动tomcat 

./startup.sh

Tomcat主页应该通过以下URL地址访问:

http://localhost:8080/         //将localhost改成我们对应的IP地址

在启动tomcat后还是无法访问该网址,防火墙可能会阻止对Tomcat的访问,这里也提供两种解决方法。

防火墙相关设置

#开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#更新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports
#防火墙状态
systemctl status firewalld
#启动防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

①关闭防火墙(不推荐,关闭了自然没那么安全)

 

②开放端口

两种方式都能很好的解决我们的问题(推荐使用第二种

访问tomcat主页

二、安装MySQL

为了方便后续MySQL操作,这里我们也直接开放MySQL3306的端口号

在安装了centos之后,它里面会有默认的数据库,我们需先删掉,再安装我们的MySQL

访问MySQL官网下载MySQL安装包(tar.gz格式)(我这是mysql-5.7的)

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

这里我们也是提前下好直接上传到Linux服务器即可

解压MySQL安装包

tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7

接下来我们将通过rpm安装MySQL,也就是安装它的一些插件

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

查看数据库默认密码并修改密码

#查看数据库默认密码
grep "password" /var/log/mysqld.log
#设置密码校验策略(0 or LOW),要不密码太LOW不让你过
set global validate_password_policy=0;
#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;
#更新密码
set password = password("123456");
#输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;
#退出
exit

授权并连接数据库

#数据库没有授权,允许以root身份远程登录mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;

三、后端接口部署

1.将ssh前后端分离项目进行部署

将打包好的项目的war包放到tomcat/wepapp中

开启tomcat服务器

确立数据库名和账户密码等 

创建对应的数据库 

导入数据

重新启动tomcat服务

演示效果: 

2.将单体项目进行部署

将打包好的项目的war包放到tomcat/wepapp中

注:找到连接数据库的配置文件, 需将数据库名,账户密码等一致

创建数据库

导入数据 

重启tomcat服务演示效果: 

3.将ssm前后端分离项目进行部署并修改端口号

将打包好的项目的war包放到tomcat/wepapp中

查看连接数据库配置文件是否要修改并确立数据库名

创建数据库

导入数据

重启tomcat服务并演示效果:

已经成功啦,那么我们接下来将进行端口号的修改

开放8082端口并重启服务

修改端口前效果演示

修改端口后效果演示

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

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

相关文章

【C语法学习】6 - gets()函数

文章目录 1 函数原型2 参数3 返回值4 读取机制5 示例 1 函数原型 gets():从标准输入流stdin读取一个字符串存储到str指向的内存空间,函数原型如下: char *gets(char *str)2 参数 gets()函数的参数只有一个str: str是一个指向c…

如何借助知乎平台开展问答口碑营销?

知乎作为一个开放性的问答社区,把各行各业的用户链接在一起,用户可以在知乎平台分享自己的经验,也可以在知乎上搜索自己感兴趣的问题,因此就会有很多企业想要在知乎上进行问答营销推广自己的产品,但这些企业自己亲身试…

【C语法学习】7 - fgets()函数

文章目录 1 函数原型2 参数3 返回值4 读取机制5 比较6 示例6.1 示例16.2 示例26.3 示例3 1 函数原型 fgets():从指定流stream读取一个字符串存储到str指向的内存空间,函数原型如下: char *fgets( char *str, int n, FILE *stream );2 参数 …

一篇文章认识【性能测试】

一、 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间。响应时间按软件的特点再可以细分,如对于一个 C/S 软件的响应时间可以细分为网络传输时间、应用服务器处理时间、数据库服务器…

一文带你了解自动化测试是什么?

本章主要讲解自动化测试的含义、分类、项目使用,以及自动化测试工具的优势。 一、自动化测试概述 1、什么是自动化测试? 自动化测试是软件测试活动中的一个重要分支和组成部分。随着软件产业的不断发展,市场对软件周期的要求越来越高&…

Android页面周期、页面跳转

1.什么是Activity? Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互。Activity用于显示用户界面,用户通过Activity交互完成相关操作,一个APP允许有多个Activity。 2.Activi…

CRM客户管理系统助力企业全流程精细化运营

效率是每一家企业都十分关注的重点。要想提高工作效率就要鄙弃粗放的管理模式,采用CRM客户管理系统赋能企业全流程精细化运营,让销售环节高速运转起来。 全流程精细化运营从哪些方面出发? 每一家企业的内部流程都不尽相同,客户管…

mfc140u.dll丢失怎么修复,mfc140u.dll文件有什么作用

今天我想和大家分享的是关于mfc140u.dll文件丢失的解决方法。在我们使用电脑的过程中,有时候会遇到一些错误提示,其中比较常见的就是“无法找到mfc140u.dll文件”。那么,这个文件是什么呢?它有什么作用呢? 首先&#…

双轮差速模型机器人通过线速度、角速度计算机器人位姿

已知上一时刻机器人位置P_OLD (x,y,),机器人当前时刻的线速度和角速度(v,),短时间内t内,机器人在线性部分和非线性部分的增量为 线性部分: 非线性部分: 由于可能非常小,导致非线性部分数值不稳定&#xf…

关于preempt count的疑问

Linux中的preempt_count - 知乎 https://www.cnblogs.com/hellokitty2/p/15652312.html LWN:关于preempt_count()的四个小讨论!-CSDN博客 主要是参考这些文章 之前一直认为只要是in_interrupt()返回非0值,那么就可以认为当前在中断上下文。即…

Spring Cloud Alibaba 之 Sentinel

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

小黑子—spring:第四章 事务控制与整合web环境

spring入门4.0 四 小黑子基于AOP的声明式事务控制1. Spring事务编程概述2. 搭建测试环境3. 基于XML声明式事务控制3.1 入门操作3.2 声明式事务控制详解 4. 基于注解的声明式事务控制 五 小黑子用spring进行web环境整合5. JavaWeb三大组件作用及其特点6. Spring整合web环境的思路…

Java作业一

编写程序实现如下界面效果: import java.util.Scanner;public class Test01 {public static void main(String[] args) {String name;Scanner input new Scanner(System.in);System.out.println("请输入您的姓名:");name input.nextLine();S…

算法学习打卡day39|动态规划:62.不同路径 、 63. 不同路径 II

62.不同路径 力扣题目链接 题目描述: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。…

Python图像处理【15】基于非锐化掩码锐化图像

基于非锐化掩码锐化图像 0. 前言1. 使用 scikit-image filters 模块执行非锐化掩码2. 使用 PIL ImageFilter 模块执行非锐化掩码3. 使用 SimpleITK 执行拉普拉斯锐化4. 使用 OpenCV 实现非锐化掩码小结系列链接 0. 前言 非锐化滤波器是一个简单的锐化算子,通过从原…

ArcGIS制作土地利用现状图

一、现状图成果 土地利用现状图是规划制图中一种基本的图件,基于ArcGIS制作的现状图如下所示: 二、现状图制作 1. 数据准备 (1)土地利用数据 (2)地形图 (3)影像地图 (4)其他数据 2. 符号化 加载现状地块数据。 双击地块图层,切换到符号系统,选择类别下的唯…

kubernetes-控制器

目录 一、replicaset 二、deployment 1、版本迭代 2、回滚 3、滚动更新策略 4、暂停与恢复 三、daemonset 四、statefulset 五、job 六、cronjob 一、replicaset ReplicaSet用于保证指定数量的 Pod 副本一直运行 vim rs-example.ymlapiVersion: apps/v1 kind: Replic…

Chat2DB Web版 服务器端安装部署启动流程

目录 前言安装部署过程下载安装包下载JDK17启动登录 可能出现的报错启动报错Java版本低flyway的bean创建失败登录失败无法执行二进制文件 前言 Chat2DB是款数据库连接工具,主要就是使用JDBC做数据库连接,外加多对接了几个聊天AI网站,把数据库…

敏捷开发框架Scrum-概述

如果你是一个程序员,可能会觉得这是个程序开发框架。我开始也是这样认为的。后来学习了PMP、敏捷后,才知道Scrum是一个用于管理团队工作的敏捷框架。Scrum可以理解成一个团队在一段时间里完成工作的方式。这里的一段时间通常很短,一到两周&am…

【好书推荐】ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践

前言 计算机技术的发展和互联网的普及,使信息处理和传输变得更加高效,极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术,也在不断地影响和改变着各个行业。 如今,我们正在见证人工智能…