Linux之JAVA环境配置jdkTomcatMySQL

目录

一. 安装jdk

        1.1 查询是否有jdk

        1.2 解压

        1.3 配置环境变量

二. 安装Tomcat(开机自启动)

        2.1 解压

        2.2 启动tomcat

        2.3 防火墙设置

        2.4 创建启动脚本(设置自启动,服务器开启即启动)

三. MySQL安装(开机自启动)

        3.1 卸载mariadb

        3.2 解压

        3.3 安装MySQL

        3.4 启动MySQL服务及开机启动设置

        3.5 登录MySQL修改密码

        3.6 防火墙设置

四. 部署项目


一. 安装jdk

        1.1 查询是否有jdk

1. 可以先使用命令查看是否有jdk

java -version

2. 像这样就是没有jdk环境

3. 进入到opt目录 

cd /opt/

4. 将压缩文件上传

4.1. 将所需要的文件进行上传,上传jdk安装包 jdk-8u151-linux-x64.tar.gz

4.2. 查询是否成功上传到/opt目录中

ll

        1.2 解压

1. 这里需要解压到usr/local目录下,在这里我新建一个文件夹保存解压后的文件

[root@localhost opt]# cd /usr/local/
[root@localhost local]# mkdir java

2. 然后再进入到opt目录下进行解压

[root@localhost local]# cd /opt/
[root@localhost opt]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java

如果记不得全就写一半按Tab键就会自动补全,但是一定要看清楚是不是这个压缩文件名称

3. 解压完成后,可以查看

[root@localhost opt]# cd /usr/local/java/
[root@localhost java]# ll

        1.3 配置环境变量

1. 进入/etc/profile文件中,配置环境变量

[root@localhost java]# vim /etc/profile

2. i键进入编辑模式,ESC退出编辑,:wq保存并退出 

在最后面加上:

#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

注意:一定要按 i 进入到编辑模式中才能粘贴上面的配置命令到vim中(可编辑模式是有插入二字的),配置完后按 esc 即可退出编辑模式,最后输入 :wq 进行保存并回车

3. 设置环境变量生效 

[root@localhost java]# source /etc/profile

4. 测试是否成功

java -version

二. 安装Tomcat(开机自启动)

        2.1 解压

1. 上传安装包 apache-tomcat-8.5.20.tar.gz(在前面我们已经一次性上传完成了)

2. 在opt目录下进行解压,解压到usr/local/java目录下

[root@localhost java]# cd /opt/
[root@localhost opt]# tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local/java

3. 进入目录查看解压是否成功

[root@localhost opt]#cd /usr/local/java/
[root@localhost java]# ll

        2.2 启动tomcat

[root@localhost java]# cd apache-tomcat-8.5.20/bin/
[root@localhost bin]# ./startup.sh

        2.3 防火墙设置

1. 设置防火墙的命令

  • #开放端口
  • firewall-cmd --zone=public --add-port=3380/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

2. 开放tomcat 8080端口 

#开放端口
firewall-cmd --zone=public --add-port=3380/tcp --permanent
#刷新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports

注意

#如果重启服务器
reboot 

我们再次启动tomcat就会发现打不开了,这时我们就需要创建启动脚本

(设置自启动,服务器开启即启动)

        2.4 创建启动脚本(设置自启动,服务器开启即启动)

1. 将tomcat目录下bin中的catalina.sh拷贝到/etc/init.d目录下

[root@localhost bin]# cp /usr/local/java/apache-tomcat-8.5.20/bin/catalina.sh /etc/init.d

 2. 重命名为tomcat 

#进入文件夹并查看
[root@localhost bin]# cd /etc/init.d/
[root@localhost init.d]ll#重命名文件为tomcat
[root@localhost init.d]# mv catalina.sh tomcat
[root@localhost init.d]ll

3. 编辑tomcat

[root@localhost init.d]# vim tomcat

3.1 把java和tomcat环境变量,加在开头

JAVA_HOME=/usr/local/java/jdk1.8.0_151
CATALINA_HOME=/usr/local/java/apache-tomcat-8.5.20

3.2 加入以下注释,:wq保存 

#加入如下注释,注意是注释,##chkconfig: 23456 10 90
#description: tomcat service

其中 2345 表示这个4个运行级别会自动开机自启动,10是启动优先级,90是关闭优先级

3.3 执行以下命令添加服务

[root@localhost init.d]# chkconfig --add tomcat

三. MySQL安装(开机自启动)

        3.1 卸载mariadb

卸载mariadb,否则安装MySQL会出现冲突(先查看后删除再查看)

[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost ~]# rpm -qa|grep mariadb

        3.2 解压

1. 在线下载MySQL安装包(也可提前下载好上传)

博主是提前下好了的,大家根据自己的习惯选择对应版本下载即可

跟jdk一样,将安装包拖入到opt目录下

2. 解压MySQL安装包 mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

2.1 创建一个文件夹

#进入解压目录
[root@localhost ~]# cd /usr/local/java/#创建mysql文件夹
[root@localhost java]# mkdir mysql-5.7

2.2 进入opt目录下进行解压

[root@localhost java]# cd /opt
[root@localhost opt]# tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C /usr/local/java/mysql-5.7/

        3.3 安装MySQL

注意:一个一个执行(注意写自己的版本号)

以下内容逐条进行安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度 

#进入目录
[root@localhost opt]# cd /usr/local/java/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

        3.4 启动MySQL服务及开机启动设置

[root@localhost mysql-5.7]# systemctl start mysqld
[root@localhost mysql-5.7]# systemctl enable mysqld.service

        3.5 登录MySQL修改密码

[root@localhost mysql-5.7]# grep "password" /var/log/mysqld.log
2024-02-24T09:47:07.400066Z 1 [Note] A temporary password is generated for root@localhost: ro.*hxccr9oL
[root@localhost mysql-5.7]# mysql -uroot -p
Enter password:
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");

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

#可以退出,试试用新密码重新登录
exit

        3.6 防火墙设置

#开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#刷新防火墙规则
firewall-cmd --reload
#查看防火墙列表
firewall-cmd --zone=public --list-ports 

四. 部署项目

1. 先创建一个数据库,名称要与脚本一致

 2. 先将tomcat服务停掉,将项目的war包放入到/usr/local/java/apache-tomcat-8.5.20/webapps目录下,再启动服务

3. 项目启动成功

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

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

相关文章

联想开天昭阳N4620Z笔记本如何恢复出厂麒麟操作系统(图解)

联想开天昭阳N4620Z笔记本简单参数: 中央处理器:KX-6640MA G2 内存:8GB 固态硬盘:512GB SSD 显示器:14.0”FHD 电池:4Cell 操作系统:麒麟KOS中文RTM(试用版) 此款笔…

Unity与Android交互通信系列(5)

在前述文章中,已经使用了AndroidJavaProxy代理接口,本节我们将详细的介绍AndroidJavaProxy代理的用法。正如其名,AndroidJavaProxy是一个代理,它在Android端代码与Unity端代码交互中起一个桥接作用。其一般用法为在Java代码中定义…

网络原理——HTTP

1. 什么是HTTP协议 HTTP是应用层的协议。Java最主要的应用场景是做网站,而网站由 后端(HTTP服务器) 和 前端(浏览器)组成,HTTP协议就是负责这里后端和前端的数据交互。 HTTP3.0 之前在传输层是通过 TCP传…

并发编程(5)共享模型之不可变

7 共享模型之不可变 本章内容 不可变类的使用不可变类设计无状态类设计 7.1 日期转换的问题 问题提出 下面的代码在运行时,由于 SimpleDateFormat 不是线程安全的, 有很大几率出现 java.lang.NumberFormatException 或者出现不正确的日期解析结果,…

PyQt5图片浏览器

PyQt5图片浏览器 实现方式功能实现具体代码 界面实现pillow源码修改ImageQt错误主页面布局 项目开源地址 分享一个图片浏览器 实现方式 qt本身有一个QGraphicsView类用来当做视图框架。 具体参考:如何在pyqt中使用 QGraphicsView 实现图片查看器 不过大佬给的例子…

微信小程序 uniapp+vue餐厅美食就餐推荐系统

本论文根据系统的开发流程以及一般论文的结构分为三个部分,第一个部分为摘要、外文翻译、目录;第二个部分为正文;第三个部分为致谢和参考文献。其中正文部分包括: (1)绪论,对课题背景、意义、目…

eBPF实践篇之基础概念

文章目录 前言基本概念eBPF的生命周期之旅最后 前言 eBPF 是一门革命性的技术,可以在不修改内核源代码或者加载内核模块的情况下,安全和高效地拓展和增强Linux内核的功能,我们主要聚焦在eBPF在网络传输上的应用和实践🚀 基本概念…

AI时代显卡如何选择,B100、H200、L40S、A100、H100、V100 含架构技术和性能对比

AI时代显卡如何选择,B100、H200、L40S、A100、H100、V100 含架构技术和性能对比。 英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择,含架构技术和性能对比带你解决疑惑。 近期,AIGC领域呈现出一片繁荣景象&a…

企业型多域名SSL证书

多域名SSL证书是目前市场上用的比较多的一种,主要解决多个不同规则的域名申请,但不适合主域名(根域名)相同的域名,因为这种域名直接申请通配符。 企业型其实就是OV类型或者EV类型,由于在CA/B产品名称规范中…

【k8s资源调度-HPA(自动扩缩容)】

1、HPA可以做什么? 通过观察pod的cpu、内存使用率或自定义metrics指标进行自动的扩容或缩容pod的数量。通常用于Deployment,不适用于无法扩/缩容的对象,如DaemonSet。控制管理器每隔30s(可以通过-horizontal-pod-autoscaler–sync-period修改…

Ubuntu20.04和Windows11下配置StarCraft II环境

1.Ubuntu20.04 根据下面这篇博客就可以顺利安装: 强化学习实战(九) Linux下配置星际争霸Ⅱ环境https://blog.csdn.net/weixin_39059031/article/details/117247635?spm1001.2014.3001.5506 Ubuntu下显示游戏界面目前还没有解决掉。 大家可以根据以下链接看看能…

Jenkins详解

目录 一、Jenkins CI/CD 1、 Jenkins CI/CD 流程图 2、介绍 Jenkins 1、Jenkins概念 2、Jenkins目的 3、特性 4、产品发布流程 3、安装Jenkins 1、安装JDK 2、安装tomcat 3.安装maven 4安装jenkins 5.启动tomcat,并页面访问 5.添加节点 一、Jenkins CI/…

[深度学习]yolov9+bytetrack+pyqt5实现目标追踪

【简介】 目标追踪简介 目标追踪是计算机视觉领域中的一个热门研究方向,它涉及到从视频序列中实时地、准确地跟踪目标对象的位置和运动轨迹。随着深度学习技术的快速发展,基于深度学习的目标追踪方法逐渐展现出强大的性能。其中,YOLOv9&…

web安全学习笔记【16】——信息打点(6)

信息打点-语言框架&开发组件&FastJson&Shiro&Log4j&SpringBoot等[1] #知识点: 1、业务资产-应用类型分类 2、Web单域名获取-接口查询 3、Web子域名获取-解析枚举 4、Web架构资产-平台指纹识别 ------------------------------------ 1、开源-C…

K线实战分析系列之一:标准K线图的识别

K线实战分析系列之一:标准K线图的识别 一、阳线和阴线二、光头K线三、光脚K线四、光头光脚大阳线五、纺锤线六、十字线 一、阳线和阴线 二、光头K线 如果某根K线没有上影线,就叫它光头k线 三、光脚K线 某一根K线没有下影线就叫它光脚K线 四、光头光…

广联达Linkworks GetAllData 信息泄露漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

【CSS-语法】

CSS-语法 ■ CSS简介■ CSS 实例■ CSS id 和 class选择器■ CSS 样式表■ 外部样式表(External style sheet)■ 内部样式表(Internal style sheet)■ 内联样式(Inline style)■ 多重样式 ■ CSS 文本■ CSS 文本颜色■ CSS 文本的对齐方式■ CSS 文本修饰■ CSS 文本转换■ CS…

力扣1290. 二进制链表转整数

Problem: 1290. 二进制链表转整数 文章目录 题目描述思路复杂度Code 题目描述 思路 1.记录一个变量res初始化为0,指针p指向链表头; 2.循环每次res res * 2 p -> val;p p -> next;(充分利用二进制数的特性;其中利用指针先…

Flutter开发进阶之Package

Flutter开发进阶之Package 通常我们在Flutter开发中需要将部分功能与整体项目隔离,一般有两种方案Plugin和Package,Application是作为主体项目,Module是作为原生项目接入Flutter模块。 当独立模块不需要与原生项目通讯只需要Plugin就可以&a…

Python + Google AI 自动修复 Sonar Bug 实践

前言 在工作中总会遇到种种不期而至的需求,比如前段时间突然要修复所有 Sonar Bug,涉及各种琐碎的代码风格问题,包括但不限于语法不规范、废弃注释等问题。这些项目都已经持续开发几年了,Sonar 上的问题层出不穷,各种…