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 之外,这…...
ai辅助开发:借助快马平台ai模型打造智能自适应的openclaw chrome数据抓取插件
今天想和大家分享一个最近用AI技术增强网页数据抓取效率的实践——开发一个叫OpenClaw的智能Chrome插件。这个插件的特别之处在于,它不仅能抓取数据,还能通过AI理解网页结构,自动适应不同网站,大大减少了手动编写抓取规则的工作量…...
深入解析 iOS 上 fixed 底栏与滚动容器的手势冲突:从 H5 修复到原生根治
在移动端 H5 开发中,我们时常遇到这样的场景:页面底部有一个固定定位(position: fixed)的按钮栏或底栏,上方是一个可滚动的长列表。在 iOS 设备上,当用户尝试从底部 fixed 区域起手向上滑动时,列表却纹丝不动,仿佛被“粘”住了。这个现象不是偶发 bug,而是 iOS 对 fix…...
MMC模块化多电平换流器Simulink仿真模型:N=10子模块的载波移相调制与多控制策略应用
MMC模块化多电平换流器,MMC-HVDC直流输电系统,单个桥臂N10个子模块,采用载波移相调制 simulink仿真模型。 为了测试控制性能良好,在1s时,额定有功功率10e6增加到15e6。 子模块电压2000V,直流电压20KV。 定有…...
Python开发者实战:用pg-mcp轻松搞定PostgreSQL集群读写分离与连接池管理
Python开发者实战:用pg-mcp轻松搞定PostgreSQL集群读写分离与连接池管理 现代Web应用对数据库的要求越来越高,特别是在高并发场景下,传统的单一数据库连接方式往往成为性能瓶颈。作为Python开发者,我们经常需要在Flask或Django项目…...
学习---3
有序数组的排序:一、暴力解法:思路:遍历数组,对每个数组元素进行平方,再用sort排序。时间复杂度:O(nlog n)二、双指针解法:思路:如果有序数组中有负数,那么这个负数平方之…...
终极指南:深度解锁联想拯救者Y7000系列Insyde BIOS隐藏选项
终极指南:深度解锁联想拯救者Y7000系列Insyde BIOS隐藏选项 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mirr…...
5步掌握跨平台资源下载神器:从音乐到短视频的完整解决方案
5步掌握跨平台资源下载神器:从音乐到短视频的完整解决方案 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否…...
AI 开发实战:质量门禁怎么设计,才不会让流程只剩形式
AI 开发实战:质量门禁怎么设计,才不会让流程只剩形式 一、这个问题为什么值得专门拿出来做? 在 AI 工程落地里,真正拖慢团队的往往不是模型本身,而是流程和协作方式没有跟上。 围绕“质量门禁怎么设计,才不…...
疯了!用 AI 做销售,一人能干三人活,效率直接拉满!
一、AI 秒出全场景话术,告别绞尽脑汁从破冰开场、持续跟进,到异议处理、逼单成交,AI 都能根据产品、客户、场景一键生成专业话术。新人不用死记硬背,复制粘贴就能专业沟通;老人不用反复修改,节省大把时间&a…...
【Java Web学习 | 第九篇】JavaScript(3) 数组+函数
【Java Web学习 | 第九篇】JavaScript(3) - 数组与函数进阶(2026最新版) 本篇对数组和函数进行更深入、实用的讲解,这是 Java Web 开发中处理后端返回数据(JSON 数组/对象列表)和封装业务逻辑的核心技能。 由于你特别…...
