Linux上安装jdk Tomcat mysql redis
1.安装JDk
1.1这里使用xshell中xfxp进行文件的上传,将jdk二进制包上传到Linux服务器上
下载地址:Java Downloads | Oracle

或者这里有下载好的安装包:链接:https://pan.baidu.com/s/1ZSJxBDzDaTwCH2IG-d2Gig 提取码:fstt
1.2上传成功后进行解压

使用命令: tar -zxvf jdk-8u361-linux-x64.tar.gz -C /usr/local 将上传的文件解压到 /usr/local目录下
解压完成后需要配置配置环境,进入到解压目录:cd /usr/local
使用ll可以查看当前目录下的文件,可以看到解压的目录

1.3使用vim命令修改/etc/profile文件:vim /etc/profile,然后按i进入插入模式
在末尾加入JAVA_HOME=/usr/local/jdk1.8.0_361 PATH=$JAVA_HOME/bin:$PATH

加入后按Esc退出编辑 再按:wq三个字符退出,则完成环境的配置。
退出需要重新加载profile文件,使配置生效: source /etc/profile
最后检查是否成功:java -version
看到版本信息则完成java的安装

jdk安装到此结束了。
2.安装tomcat
2.1首先去官网下载好安装包:Apache Tomcat® - Welcome!
我这里选择的是9.0版本

或者使用我下载好的链接:https://pan.baidu.com/s/1B0KTFHA5NPA4O-MdHuUh5Q 提取码:p6y0
2.2跟上面一样,上传到服务器上

然后解压到/usr/local下:tar -zxvf apache-tomcat-9.0.71.tar.gz -C /usr/local。
解压完成后跳转到该目录下进行查看。

接着进入到该目录的bin目录下,启动服务命令如下:

使用该命令查看是否成功启动:ps -ef | grep tomcat。

出现上面成功启动。
打开后想要外部访问到还需要对防火墙进行操作。
防火墙操作的命令:
查看防火墙状态:systemctl status firewalld 或者 firewall-cmd --state
暂时关闭防火墙:systemctl stop firewalld
永久关闭防火墙:systemctl disable firewalld
开启防火墙:systemctl start firewalld
开放8080指定端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
关闭8080指定端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanent
立即生效:firewall-cmd --reload
查看开放的端口:firewall-cmd --zone=public --list-ports
我们关闭防火墙之后再访问Tomcat,出现Tomcat界面则成功。
有时候不想打开防火墙,开放8080端口即可。
对于阿里云服务器还需要在网络和安全组-安全组配置-配置规则里面加上8080端口。

想要停止Tomcat服务,在bin目录下执行:sh shutdown.sh 或者 ./shutdown.sh
结束Tomcat进程,先获得进程id,执行 ps -ef | grep tomcat ,然后kill -9 id
3.安装MySQL
使用RPM软件管理器,是Linux用于管理和安装软件的工具。
3.1检测是否安装mysql。
rpm -qa 查询系统安装所有软件 rpm -qa | grep mysql 查看系统安装的名称带有mysql软件
rpm -qa | grep mariadb查看系统安装的名称带有mariadb软件
CentOS7自带mariadb,与Mysql数据冲突,需要卸载

3.2卸载软件:rpm -e --nodeps 软件名称 此处执行 rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
3.3安装mysql
大家可以自行去官网安装,或者使用我下好的安装包。
链接:https://pan.baidu.com/s/1wXYvEdEvyO3UyL0-y065mw 提取码:kk36
然后新建一个目录:mkdir /usr/local/mysql,并解压 tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql
在安装执行 rpm 安装包之前先下载 openssl-devel 插件,因为 mysql 里面有些 rpm 的安装依赖于该插件:yum install openssl-devel
安装完插件,依次执行下面命令。
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
最后一条可能报错 使用yum install libaio命令再运行。
3.4启动MySQL
查看mysql状态:systemctl status mysqld
启动mysql服务:systemctl start mysqld
开机自启mysql服务:systemctl enable mysqld 需要设置
查看已经启动的服务: netstat -tunlp | grep mysql

看到如上说明已经成功启动了
3.5登录mysql数据库
查看文件内容:cat /var/log/mysqld.log
查看文件内容包含password: cat /var/log/mysqld.log | grep password

知道了密码可以登录,使用:mysql -uroot -p

登录成功则执行以下命令修改密码
set global validate_password.policy = 0; //设置密码安全登记低,便于修改成root
set global validate_password.length = 4; //设置密码最低位数
ALTER USER 'root'@'localhost' IDENTIFIED BY 'mike.8080'; //修改密码
还需要创建一个用户用于远程访问:create user 'mike'@'%' IDENTIFIED WITH mysql_native_password BY 'mike8080';
最后给这用户分配所有权限:grant all on *.* to 'mike'@'%';
刷新:flush privileges;
此时账号root密码变成 mike.8080,可以远程连接的用户账号mike,密码mike8080
至此安装成功!!!
4.安装lrzsz
Yum是一个Shell前端软件包管理器,基于RPM包管理,能够从指定服务器自动下载RPM包并且安装,一次安装所有依赖,无需一次次下载安装
搜索lrzsz安装包:yum list lrzsz

安装:yum install lrzsz.x86_64
可以使用rp命令回车直接上传文件,无需xshell自带的上传功能。
5.安装Redis
首先去Redis官方网站下载:http://download.redis.io/releases/
或者使用我下载好的:https://pan.baidu.com/s/16YO8d_OLbDyJqYTMp2sLVg 提取码:gxpg
解压安装包:tar -zxvf redis-5.0.12.tar.gz -C /usr/local
安装Redis依赖环境gcc: yum install gcc-c++
进入redis文件夹进行编译:cd /usr/local/redis-5.0.12 再执行make命令
最后进入src目录下进行安装:make install

使用redis,先进入redis的src目录,然后启动: ./redis-server
想要后台一直运行,则退到上一层修改配置文件:vim redis.conf
输入/dae然后回车找到这里,修改成yes即可

然后执行命令生效,后面加入的是相对当前目录conf的路径

记得防火墙和服务器开端口号!!!
如果想给redis设置密码,重新进入刚刚的文件夹,然后打开注释,修改密码即可!

然后kill掉redis进程,重新启动即可

最后如果想使用redis,执行命令,还有输入密码:src/redis-cli -h localhost -p 6379 -a 123456

如果想要远程访问服务器的redis,需要在配置文件里面注释掉如下东西,允许其他主机访问,同样跟上面一样需要重启服务

至此,redis的安装结束!!!
相关文章:
Linux上安装jdk Tomcat mysql redis
1.安装JDk 1.1这里使用xshell中xfxp进行文件的上传,将jdk二进制包上传到Linux服务器上 下载地址:Java Downloads | Oracle 或者这里有下载好的安装包:链接:https://pan.baidu.com/s/1ZSJxBDzDaTwCH2IG-d2Gig 提取码:…...
Postman中加url环境变量和token全局变量
环境变量引用 语法:{{变量名}} 环境变量分类 1. 全局变量:全局有效,在Postman中的任何集合中都可以使用该变量,作用域最大。 2. 环境变量:要申明环境变量,先要创建环境,然后在该环境中创建变…...
多线程事务回滚方法
多线程事务回滚方法 介绍案例演示线程池配置异常类实体类控制层业务层mapper工具类验证 解决方案使用sqlSession控制手动提交事务SqlSessionTemplate注入容器中改造业务层验证成功操作示例业务层改造 介绍 1.最近有一个大数据量插入的操作入库的业务场景,需要先做一…...
java单元测试( Hamcrest 断言)
java单元测试( Hamcrest 断言) 单元测试特征: 1 范围狭窄 2 限于单一类或方法 3 体积小 为什么要编写单元测试? 为了防止错误(很明显!) 而且还可以提高开发人员的生产力,因为单元测试: (1) 帮助实施——在…...
讨论和总结 树模型 的三种序列化 方式的区别(模型存储大小、序列化所用内存、序列化速度)...
一、前言 本文总结常用树模型: rf,xgboost,catboost和lightgbm等模型的保存和加载(序列化和反序列化)的多种方式,并对多种方式从运行内存的使用和存储大小做对比 二、模型 2.1 安装环境 pip install xgboos…...
Halcon中的一些3D算子
一、记录一些Halcon里的关于3D的算子 1.read_object_model_3d 从文件读取一个3d模型 如下图,读的一个ply文件出来是个3d点云模型 2.visualize_object_model_3d 交互式展示3d模型 即上个算子读出来后,通过这个算子可以把3d模型显示出来旋转、平移&am…...
Android:Selector + Layer-lists 实现 AppCompatCheckBox
最近做项目涉及到一些UI相关的东东,虽然比较简单,但是也很有趣,写两篇简短的博客记录一下。 一."Selector 两张图片"实现 AppCompatCheckBox AppCompatCheckBox 是 androidx的一个widget:androidx.appcompat.widget.…...
TreeMap类型添加数据
package com.test.Test11;import java.util.*;public class Test02 {public static void main(String[] args) {/** 增加:put(K key,V value)* 删除:clear() remove(Object key)* 修改:* 查看:entrySet() get(Object key) keySet(…...
iOS 16 UI 设计系统免费在线使用方法
1、iOS 16 UI 设计系统中有什么? iOS 16 UI 设计系统通常包含以下组件和元素: 1. 按钮:包括操作按钮、图标按钮、导航按钮、滚动按钮、切换按钮、单选按钮、复选框按钮、呼叫按钮等各种类型的按钮。 2. 窗口和 UI 控件:包括标签…...
【接口测试】JMeter接口关联测试
1 前言 我们来学习接口管理测试,这就要使用到JMeter提供的JSON提取器和正则表达式提取器了,下面我们来看看是如何使用的吧。 2 JSON提取器 1、添加JSON提取器 在线程组右键 > 添加 > 后置处理器 > JSON提取器 2、JSON提取器参数说明 N…...
腾讯云服务器ping不通解决方法(公网IP/安全组/系统多维度)
腾讯云服务器ping不通什么原因?ping不通公网IP地址还是域名?新手站长从云服务器公网IP、安全组、Linux系统和Windows操作系统多方面来详细说明腾讯云服务器ping不通的解决方法: 目录 腾讯云服务器ping不通原因分析及解决方法 安全组ICMP协…...
【C++/嵌入式笔试面试八股】一、32.封装
封装 08.C++中struct和class的区别🍊 相同点 两者都拥有成员函数、公有和私有部分任何可以使用class完成的工作,同样可以使用struct完成不同点 两者中如果不对成员不指定公私有,struct默认是公有的,class则默认是私有的class默认是private继承, 而struct默认是public继…...
【算法】Transform to Chessboard 变为棋盘
文章目录 Transform to Chessboard 变为棋盘问题描述:分析代码 Transform to Chessboard 变为棋盘 问题描述: 一个 n x n 的二维网络 board 仅由 0 和 1 组成 。每次移动,你能任意交换两列或是两行的位置。 返回 将这个矩阵变为 棋盘 所需…...
vue通过封装$on定义全局事件
我们先在vue项目的src跟目录下创建一个文件夹 叫 utils 下面创建一个js文件夹 叫 bus.js 参考代码如下 import Vue from "vue"; export default new Vue();然后 我们就可以来用了 在需要定义事件的组件中编写 <template><div><h1>Hello world!&…...
资产管理规范
生产系统资产管理规范 1. 引言 生产系统的资产管理是确保生产系统正常运行和提高生产效率的关键因素之一。本文档旨在制定一套规范,以确保生产系统中的资产,包括服务器和软件等,得到有效管理和保护。 2. 资产分类 生产系统资产可根据其性质…...
已解决:如何从别人的仓库那里克隆到自己的仓库,并修改代码并提交。
一、场景 拉取项目代码后,如果要共同开发一个项目的自动化代码,此时需要把自己写的代码部分提交到代码仓库。 可以用pycharm把修改的代码push到代码仓库 二、操作方法 1.从别人的仓库那里点击fork,将仓库克隆到自己的仓库。 2.在pychar…...
剑指 Offer 18. 删除链表的节点
🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🚁 个人主页:不 良 🔥 系列专栏:🛸剑指 Offer 📕 学习格言:博观而约取,厚积而薄…...
WiFi 6 vs WiFi 5
在现代无线通信领域,WiFi已经成为人们日常生活中不可或缺的一部分。随着技术的不断发展,WiFi标准也在不断更新和演进。WiFi 6(802.11ax)和WiFi 5(802.11ac)是当前两个主要的WiFi标准。 本文将详细介绍WiFi …...
PHP语言基础
一.标记风格 标记风格分为四类(推荐XML) 1.XML风格 <?php echo这是xml风格‘; ?> 注意:结束标识符必须单独另起一行,并且不能有空格。在标识符前后有其他符号或者字符也会发生错误。 2.脚本风格 <script languagephp> …...
怎么用Excel VBA写一个excel批量合并的程序?
您可以按照以下VBA代码来实现把同一路径上的所有工作簿合并到同一个工作簿中: VBA Option Explicit Sub MergeWorkbooks() Dim path As String, fileName As String, sheet As Worksheet Dim targetWorkbook As Workbook, sourceWorkbook As Workbook Dim workshe…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
