Linux系统下常用软件安装汇总,包括mysql,java,git,redis等
01.环境搭建
1.安装列表
-
MySQL 5.7.11
-
Java 1.8
-
Apache Maven 3.6+
-
tomcat8.5
-
git
-
Redis
-
Nginx
-
python
-
docker
2.安装mysql
1.拷贝mysql安装文件到Linux的某个目录下
2.解压Linux安装包:tar -xvzf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
3.进入解压后的目录:cd mysql-5.7.32-linux-glibc2.12-x86_64/
4.创建mysql文件夹:mkdir -p /usr/local/mysql
5.拷贝解压后所有文件到mysql中:cp -rf * /usr/local/mysql
6.创建组:groupadd mysql
7.创建用户并设置组:useradd -r -g mysql mysql
8.创建mysql数据目录:mkdir -p /data/mysql
9.给/data/mysql赋值权限:chown mysql:mysql -R /data/mysql
10.编辑配置文件:vi /etc/my.cnf ,编辑内容具体见下。
11.进入mysql可执行目录:cd /usr/local/mysql/bin/
12.执行命令:./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
13.查看密码:cat /data/mysql/mysql.err
14.拷贝文件:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 以下步骤为重置数据库密码
15.修改密码:mysql -u root -p (密码)
16.进行重置密码:set password=password('123456');
17.退出:exit
18.使用新密码登录:mysql -u root -p (新密码)
# 以下操作将修改user表中的数据
19.进入mysql数据库:use mysql ;
20.修改user表中的Host:update user set Host='%' where user='root';
21.刷新:flush privileges ;# 使用Navicat进行连接数据库进行测试
22.查看Linux系统IP:ifconfig
23.在Navicat中输入Linux系统的IP,数据库用户名、密码以及端口,点击测试连接 。提示连接成功就证明连接成功 。
my.cnf内容如下
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
mysql服务无法启动执行如下
yum install -y mariadb-server
systemctl unmask firewalld.service
systemctl start mariadb.service
查看端口:firewall-cmd --query-port=3306/tcp
开启端口:firewall-cmd --add-port=3306/tcp
3.安装Java
-
上传压缩包:jdk-8u271-linux-x64.tar.gz
-
解压:tar -xvzf jdk-8u271-linux-x64.tar.gz
-
将解压后的目录放到一个目录下:mv jdk1.8.0_271 /opt/jdk1.8
-
设置Java环境变量:vim /etc/profile
-
使配置生效:source /etc/profile
-
查看Java配置是否生效 :java -version
4.安装maven
-
上传压缩包:apache-maven-3.6.3-bin.zip
-
解压maven压缩包:unzip apache-maven-3.6.3-bin.zip
-
将解压后的目录放到一个目录下:mv apache-maven-3.6.3 /opt/
-
设置环境变量
export MAVEN_HOME=/opt/apache-maven-3.6.3
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
5.使配置生效:source /etc/profile
6.查看Maven配置是否生效 :mvn -version
7.创建Maven本地资源库:mkdir -p /webapp/repository
8.设置maven的本地资源库:vim ./conf/settings.xml ,大约在53行
5.部署Tomcat
-
上传压缩包:apache-tomcat-8.5.57.tar.gz
-
解压tomcat压缩包:tar -xvzf apache-tomcat-8.5.57.tar.gz
-
将解压后的目录放到一个目录下:mv apache-tomcat-8.5.57 /opt/tomcat8
-
进入tomcat的conf目录:cd /opt/tomcat8/conf
-
修改tomcat启动端口(根据需要):vim server.xml ,具体内容见下 。
-
修改完后保存退出 。
-
进入tomcat8的bin目录 :cd ../bin/
-
启动tomcat服务:./startup.sh
-
在浏览器中输入ip:port能出现Apache Tomcat提示即部署成功 。
server.xml的部分内容:<Service name="Catalina"> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <!-- 将port后的端口修改为实际端口 --!><Engine name="Catalina" defaultHost="test.com"> <!-- 修改当前Engine,默认主机是,www.test.com --> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> # Realm组件,定义对当前容器内的应用程序访问的认证,通过外部资源UserDatabase进行认证 <Host name="test.com" appBase="/web" unpackWARs="true" autoDeploy="true"> <!-- 定义一个主机,域名为:test.com,应用程序的目录是/web,设置自动部署,自动解压 --> <Alias>www.test.com</Alias> <!-- 定义一个别名www.test.com,类似apache的ServerAlias --> <Context path="" docBase="www/" reloadable="true" /> <!-- 定义该应用程序,访问路径"",即访问www.test.com即可访问,网页目录为:相对于appBase下的www/,即/web/www,并且当该应用程序下web.xml或者类等有相关变化时,自动重载当前配置,即不用重启tomcat使部署的新应用程序生效 --> <Context path="/bbs" docBase="/web/bbs" reloadable="true" /> <!-- 定义另外一个独立的应用程序(虚拟主机),访问路径为:www.test.com/bbs,该应用程序网页目录为/web/bbs --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/web/www/logs" prefix="www_access." suffix=".log" pattern="%h %l %u %t "%r" %s %b" /> <!-- 定义一个Valve组件,用来记录tomcat的访问日志,日志存放目录为:/web/www/logs如果定义为相对路径则是相当于$CATALINA_HOME,并非相对于appBase,这个要注意。定义日志文件前缀为www_access.并以.log结尾,pattern定义日志内容格式,具体字段表示可以查看tomcat官方文档 --> </Host> <Host name="manager.test.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- 定义一个主机名为man.test.com,应用程序目录是$CATALINA_HOME/webapps,自动解压,自动部署 --> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="172.16.100.*" /> <!-- 定义远程地址访问策略,仅允许172.16.100.*网段访问该主机,其他的将被拒绝访问 --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/web/bbs/logs" prefix="bbs_access." suffix=".log" pattern="%h %l %u %t "%r" %s %b" /> <!-- 定义该主机的访问日志 --> </Host> </Engine> </Service>
6.安装git
git安装在Linux上比较简单,最简单的方式就是通过yum安装(以Centos为例):
通过yum进行安装:yum install git
安装后验证,查看版本号:git --version
虽然上面能安装成功,但是存在一个问题就是安装好的版本比较老,如果想使用比较高的版本,可到GitHub上去下载,然后进行编译安装 。
#若已经安装git,可以通过yum命令进行卸载 。
卸载git: yum remove git#下面通过下载最新版编译安装
1.安装编译源码前所需依赖:yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
2.从GitHub上下载最新版:wget https://github.com/git/git/archive/v2.17.0.tar.gz ;
3.将下载后的包进行解压缩: tar -zxvf v2.17.0.tar.gz
4.进入git文件夹:cd git-2.17.0
5.配置路径:./configure --prefix=/usr/local/git
5.进行编译:make
6.安装git到指定路径: make install
7.编辑配置文件: vim /etc/profile ,在底部加上git相关配置信息:PATH=$PATH:/usr/local/git/bin ,保存退出。
8.输入验证命令:git --version
若出现版本号即证明安装成功
7.安装Redis
1.下载redis安装包:wget https://download.redis.io/releases/redis-6.2.2.tar.gz
2.进行解压缩:tar xzf redis-6.2.2.tar.gz
3.将解压目录拷贝到指定目录(可根据实际需要,可忽略):mv /tools/redis-5.0.7 /usr/local/redis
4.进入指定目录: cd /usr/local/redis
5.配置路径: ./configure --prefix=/usr/local/nginx
5.进行编译:make
6.进行安装:make install
7.启动Redis:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
8.安装nginx
1.安装依赖包:yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
2.下载nginx安装包: wget https://nginx.org/download/nginx-1.9.9.tar.gz
3.进行解压缩:tar xzf nginx-1.9.9.tar.gz
4.进入目录: cd nginx-1.9.9
5.配置路径: ./configure --prefix=/usr/local/nginx
6.进行编译:make
7.进行安装:make install
8.启动nginx: ./usr/local/nginx/sbin/nginx
9.安装python
1.安装python3所需的依赖包:yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2.下载nginx安装包: wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
3.进行解压缩:tar xzf Python-3.6.8.tgz
4.进入目录: cd Python-3.6.8
5.配置路径: ./configure --prefix=/usr/local/python3
6.进行编译:make
7.进行安装:make install
8.添加python软连接:ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
9.添加pip软连接: ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
10:输入python命令验证: python3(进入的python编辑器显示版本号正确即说明安装正确 )
10.安装docker
1.安装docker依赖包: yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置阿里云镜像源: sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装docker-CE: yum install docker-ce
4.设置开启自启动: systemctl enable docker
5.启动docker服务:systemctl start docker
6.添加docker用户组(可选):groupadd docker
7.添加当前用户到docker组: usemod -aG docker $USER备注:docker需要用户具有sudo权限,若不具备root权限,为了避免每次都输入sudo,可把当前(root)用户加入docker组 。具体见第六步和第七步 。
相关文章:

Linux系统下常用软件安装汇总,包括mysql,java,git,redis等
01.环境搭建 1.安装列表 MySQL 5.7.11 Java 1.8 Apache Maven 3.6 tomcat8.5 git Redis Nginx python docker 2.安装mysql 1.拷贝mysql安装文件到Linux的某个目录下 2.解压Linux安装包:tar -xvzf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz 3.进入解压后…...

【Linux】——期末复习题(一)
🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:…...

【论文阅读】Speech Driven Video Editing via an Audio-Conditioned Diffusion Model
DiffusionVideoEditing:基于音频条件扩散模型的语音驱动视频编辑 code:GitHub - DanBigioi/DiffusionVideoEditing: Official project repo for paper "Speech Driven Video Editing via an Audio-Conditioned Diffusion Model" paper&#…...

【华为 ICT HCIA eNSP 习题汇总】——题目集4
1、(多选)网络中出现故障后,管理员通过排查发现某台路由器的配置被修改了,那么管理员应该采取哪些措施来避免这种状况再次发生? A、管理员应该通过配置 ACL 来扩展只有管理员能够登录设备 B、管理员应该在路由的管理端…...

hadoop-common: CMake failed with error code 1
问题 在编译hadoop源码时遇到如下错误 hadoop-common: CMake failed with error code 1 看了这个错误表示一脸懵逼 排查 在mvn 的命令中增加 -X 和 -e mvn clean package -e -X -Pdist,native -DskipTests -Dmaven.javadoc.skip -Dopenssl.prefix/usr/local/bin/openssl 在…...

【面试】-科大讯飞日常实习面试
科大讯飞日常实习面试 提问的问题 面试30min,基本就是介绍项目以及提问java八股文,没有算法题 java保证线程安全的方法 需要根据具体场景选择合适的方法来保证线程安全。java中的异步请求如何实现你的SpringBoot项目怎么匹配在线人数请说出spring springMVC springboot之间的…...

MySQL 数据加密
MySQL 数据加密主要用于保护存储在数据库中的敏感信息,如用户密码、个人身份信息等。MySQL 提供了多种数据加密方法,主要包括: 对称加密: AES_ENCRYPT() 和 AES_DECRYPT() 函数:MySQL 支持使用高级加密标准(…...

风丘科技为您提供完整的ADAS测试方案
一 方案概述 随着5G通讯与互联网的快速发展,智能汽车和ADAS辅助系统的研究与发展在世界范围内也在如火如荼地进行。风丘科技紧跟时代脚步,经多年积累沉淀,携手整车厂与高校共同研发打造出了一套完整且适用于国内ADAS测试的系统方案。 | ADAS…...

深入理解Rust基本类型
文章目录 一、概述二、数值类型2.1、整数类型2.2、浮点类型2.3、数字运算2.4、位运算2.5、序列(Range)2.6、有理数和复数 三、字符、布尔、单元类型3.1、字符类型3.2、布尔类型(bool)3.3、单元类型 团队博客: 汽车电子社区 一、概…...

cloudflare加速方法
一、使用Cloudflare优速域名或IP,实现国内访问加速 二、使用境外CN2、GIA等直连联网的VPS:如华纳云、彩红云等(未测试) 三、页面托管方案: 四、cloudflare合作伙伴计划:自定义cdn节点、dnspod提供的dns解析…...

密码学学习笔记(二十四):TCP/IP协议栈
TCP/IP协议栈的基础结构包括应用层、传输层、网络层、数据链路层和物理层。 应用层 应用层位于TCP/IP协议栈的最顶层,是用户与网络通信的接口。这一层包括了各种高级应用协议,如HTTP(用于网页浏览)、FTP(用于文件传输…...

软件测试阶段简介_单元测试、集成测试、配置项测试、系统测试
文章目录 前言一、软件测试“V”模型二、单元测试三、集成测试四、配置项测试五、系统测试总结 前言 一般来说,按照软件的研制阶段划分,软件测试可分为单元测试、集成测试、配置项测试、系统测试等。本文将对上述各测试阶段进行逐一介绍。 一、软件测试…...

AcWing 1204.错误票据(读取未知个数数据的新方法)
[题目概述] 某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另…...

项目上线存在的缓存问题以及存在的debugger和console.log等问题
下载uglifyjs-webpack-plugin插件 在vue.config文件中进行配置 publicPath: process.env.NODE_ENV production ? ./ : /,outputDir: n-sim-ipc-manage-build,productionSourceMap: false,configureWebpack: config > {//打包文件增加hashconfig.output.filename js/[nam…...

均线和布林线这样的关系,WeTrade众汇实例这样使用
在后台经常有交易者咨询:“我可以用加权平均线或指数代替移动平均线吗?”理论上,任何平均值都适合绘制BB。在回答这个问题之前,为了稳妥起见,WeTrade众汇通过对各种均线对比分析,却得出这样结论:经典均线是构建参考点最简单、最准…...

C++中的区块链与加密货币开发
区块链和加密货币是当前科技领域中备受关注的热门话题。C作为一种高效的编程语言,被广泛应用于区块链和加密货币的开发。在本篇文章中,我将介绍C在区块链和加密货币开发中的重要性以及其应用方面。 区块链开发框架:C提供了多种区块链开发框架…...

【云略】2023年新茶饮行业社媒营销洞察报告
(因篇幅有限,推文仅展示部分内容) 2023新茶饮行业卷的比往年更厉害。 在整体市场环境快速增长的情况下,新茶饮品牌纷纷开始拼产品、抢联名、赶上市,搞下沉,整个行业进入到一个新的博弈阶段。 2023年蜜雪冰城…...

19. C++ static关键字
1. static关键字 不考虑类的情况 隐藏-所有不加static的全局变量和函数具有全局可见性,可以在其他文件中使用,加了之后只能在该文件所在的编译模块中使用,即内部连接默认初始化为0,包括未初始化的全局静态变量与局部静态变量&am…...

thinkphp6 模糊查找json下的字段值
写法: where(json的字段->json下的字段) sql生成json_extract(json的字段,$.json下的字段1.json下的字段2) 可以加上like where(‘‘json的字段->json下的字段, ‘like’, ‘%’. keyword .’%’) sql生成json_extract(json的字段,$.js…...

链表存数相加算法(leetcode第2题)
题目描述: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这…...

旅游项目day07
目的地攻略展示 根据目的地和主题查询攻略 攻略条件查询 攻略排行分析 推荐排行榜:点赞数收藏数 取前十名 热门排行榜:评论数浏览数 取前十名 浏览数跟评论数差距过大,可设置不同权重,例如:将浏览数权重设置为0.3…...

java黑马学习笔记
数组 变量存在栈中,变量值存放在堆中。 数组反转 public class test{public static void main(String[] args){//目标:完成数组反转int[] arr {10,20,30,40,50};for (int i 0,j arr.length - 1;i < j;i,j--){int tep arr[j]; //后一个值赋给临时…...

WordPress后台底部版权信息“感谢使用 WordPress 进行创作”和版本号怎么修改或删除?
不知道各位WordPress站长在后台操作时,是否有注意到每一个页面底部左侧都有一个“感谢使用 WordPress 进行创作。”,其中WordPress还是带有nofollow标签的链接;而页面底部右侧都有一个WordPress版本号,如下图中的“6.4.2 版本”。…...

解决字符串类型转数字类型相加结果异常问题
js字符串类型转换数字类型有七种方法,分别是parseInt(),parseFloat(),Math.floor(),乘以数字(*1),Number(),双波浪号 (~~number),一元运算符(numberÿ…...

android 开发 W/TextToSpeech: speak failed: not bound to TTS engine
问题 笔者使用TTS(TextToSpeech)对于文本内容进行语音播报,控制台报错 android 开发 speak failed:not bound to TTS engine详细问题 笔者核心代码: import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.speech.tts.…...

Java代码审计Shiro反序列化DNS利用链CC利用链AES动态调试
目录 0x00 前言 0x01 Java原生反序列化介绍 0x02 安全问题1:重写toString方法(打印对象时触发) 0x03 安全问题2:重写readObject(反序列化时触发) 0x04 测试URLDNS链 0x05 Shiro550生成RememberMe Coo…...

【MySQL】临时变量用法
力扣题 1、题目地址 2388. 将表中的空值更改为前一个值 2、模拟表 表:CoffeeShop Column NameTypeidintdrinkvarchar id 是该表的主键(具有唯一值的列)。该表中的每一行都显示了订单 id 和所点饮料的名称。一些饮料行为 null。 3、要求…...

Flask框架小程序后端分离开发学习笔记《4》向服务器端发送模拟请求-爬虫
Flask框架小程序后端分离开发学习笔记《4》向服务器端发送模拟请求-爬虫 Flask是使用python的后端,由于小程序需要后端开发,遂学习一下后端开发。 下面代码,是一个比较老的版本了,可以借鉴一下。 import socket import ssldef p…...

Android在系统界面上添加窗口
WindowManager.addView()是Android中的一个方法,用于在屏幕上添加一个窗口。它允许你在应用程序的上下文之外创建一个窗口,并将其显示在其他应用程序或系统界面上。 新建一个自定义View用于显示 class MyView JvmOverloads constructor(context: Contex…...

【正点原子STM32】STM32原理图设计(芯片手册和数据手册、常见引脚类型、最小系统和IO分配)
一、学会查看数据手册 获取芯片数据手册数据手册内容概要芯片的基本参数(STM32F103ZET6为例)正点原子开发板对应的主控型号和封装STM32F103ZET6引脚分布常见的STM32引脚类型下载接口 二、最小系统 电源电路复位电路BOOT启动电路晶振电路下载调试电路串…...