当前位置: 首页 > news >正文

Linux系统下常用软件安装汇总,包括mysql,java,git,redis等

01.环境搭建

1.安装列表
  1. MySQL 5.7.11

  2. Java 1.8

  3. Apache Maven 3.6+

  4. tomcat8.5

  5. git

  6. Redis

  7. Nginx

  8. python

  9. 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
  1. 上传压缩包:jdk-8u271-linux-x64.tar.gz

  2. 解压:tar -xvzf jdk-8u271-linux-x64.tar.gz

  3. 将解压后的目录放到一个目录下:mv jdk1.8.0_271 /opt/jdk1.8

  4. 设置Java环境变量:vim /etc/profile

  5. 使配置生效:source /etc/profile

  6. 查看Java配置是否生效 :java -version

4.安装maven
  1. 上传压缩包:apache-maven-3.6.3-bin.zip

  2. 解压maven压缩包:unzip apache-maven-3.6.3-bin.zip

  3. 将解压后的目录放到一个目录下:mv apache-maven-3.6.3 /opt/

  4. 设置环境变量

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
  1. 上传压缩包:apache-tomcat-8.5.57.tar.gz

  2. 解压tomcat压缩包:tar -xvzf apache-tomcat-8.5.57.tar.gz

  3. 将解压后的目录放到一个目录下:mv apache-tomcat-8.5.57 /opt/tomcat8

  4. 进入tomcat的conf目录:cd /opt/tomcat8/conf

  5. 修改tomcat启动端口(根据需要):vim server.xml ,具体内容见下 。

  6. 修改完后保存退出 。

  7. 进入tomcat8的bin目录 :cd ../bin/

  8. 启动tomcat服务:./startup.sh

  9. 在浏览器中输入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 &quot;%r&quot; %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 &quot;%r&quot; %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安装包&#xff1a;tar -xvzf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz 3.进入解压后…...

【Linux】——期末复习题(一)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…...

【论文阅读】Speech Driven Video Editing via an Audio-Conditioned Diffusion Model

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

【华为 ICT HCIA eNSP 习题汇总】——题目集4

1、&#xff08;多选&#xff09;网络中出现故障后&#xff0c;管理员通过排查发现某台路由器的配置被修改了&#xff0c;那么管理员应该采取哪些措施来避免这种状况再次发生&#xff1f; 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 数据加密主要用于保护存储在数据库中的敏感信息&#xff0c;如用户密码、个人身份信息等。MySQL 提供了多种数据加密方法&#xff0c;主要包括&#xff1a; 对称加密&#xff1a; AES_ENCRYPT() 和 AES_DECRYPT() 函数&#xff1a;MySQL 支持使用高级加密标准&#xff08…...

风丘科技为您提供完整的ADAS测试方案

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

深入理解Rust基本类型

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

cloudflare加速方法

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

密码学学习笔记(二十四):TCP/IP协议栈

TCP/IP协议栈的基础结构包括应用层、传输层、网络层、数据链路层和物理层。 应用层 应用层位于TCP/IP协议栈的最顶层&#xff0c;是用户与网络通信的接口。这一层包括了各种高级应用协议&#xff0c;如HTTP&#xff08;用于网页浏览&#xff09;、FTP&#xff08;用于文件传输…...

软件测试阶段简介_单元测试、集成测试、配置项测试、系统测试

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

AcWing 1204.错误票据(读取未知个数数据的新方法)

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

项目上线存在的缓存问题以及存在的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众汇实例这样使用

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

C++中的区块链与加密货币开发

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

【云略】2023年新茶饮行业社媒营销洞察报告

&#xff08;因篇幅有限&#xff0c;推文仅展示部分内容&#xff09; 2023新茶饮行业卷的比往年更厉害。 在整体市场环境快速增长的情况下&#xff0c;新茶饮品牌纷纷开始拼产品、抢联名、赶上市&#xff0c;搞下沉&#xff0c;整个行业进入到一个新的博弈阶段。 2023年蜜雪冰城…...

19. C++ static关键字

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

thinkphp6 模糊查找json下的字段值

写法&#xff1a; where(json的字段->json下的字段) sql生成json_extract(json的字段&#xff0c;$.json下的字段1.json下的字段2) 可以加上like where(‘‘json的字段->json下的字段, ‘like’, ‘%’. keyword .’%’) sql生成json_extract(json的字段&#xff0c;$.js…...

链表存数相加算法(leetcode第2题)

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

ai辅助开发:借助快马平台ai模型打造智能自适应的openclaw chrome数据抓取插件

今天想和大家分享一个最近用AI技术增强网页数据抓取效率的实践——开发一个叫OpenClaw的智能Chrome插件。这个插件的特别之处在于&#xff0c;它不仅能抓取数据&#xff0c;还能通过AI理解网页结构&#xff0c;自动适应不同网站&#xff0c;大大减少了手动编写抓取规则的工作量…...

深入解析 iOS 上 fixed 底栏与滚动容器的手势冲突:从 H5 修复到原生根治

在移动端 H5 开发中,我们时常遇到这样的场景:页面底部有一个固定定位(position: fixed)的按钮栏或底栏,上方是一个可滚动的长列表。在 iOS 设备上,当用户尝试从底部 fixed 区域起手向上滑动时,列表却纹丝不动,仿佛被“粘”住了。这个现象不是偶发 bug,而是 iOS 对 fix…...

MMC模块化多电平换流器Simulink仿真模型:N=10子模块的载波移相调制与多控制策略应用

MMC模块化多电平换流器&#xff0c;MMC-HVDC直流输电系统&#xff0c;单个桥臂N10个子模块&#xff0c;采用载波移相调制 simulink仿真模型。 为了测试控制性能良好&#xff0c;在1s时&#xff0c;额定有功功率10e6增加到15e6。 子模块电压2000V&#xff0c;直流电压20KV。 定有…...

Python开发者实战:用pg-mcp轻松搞定PostgreSQL集群读写分离与连接池管理

Python开发者实战&#xff1a;用pg-mcp轻松搞定PostgreSQL集群读写分离与连接池管理 现代Web应用对数据库的要求越来越高&#xff0c;特别是在高并发场景下&#xff0c;传统的单一数据库连接方式往往成为性能瓶颈。作为Python开发者&#xff0c;我们经常需要在Flask或Django项目…...

学习---3

有序数组的排序&#xff1a;一、暴力解法&#xff1a;思路&#xff1a;遍历数组&#xff0c;对每个数组元素进行平方&#xff0c;再用sort排序。时间复杂度&#xff1a;O(nlog n)二、双指针解法&#xff1a;思路&#xff1a;如果有序数组中有负数&#xff0c;那么这个负数平方之…...

终极指南:深度解锁联想拯救者Y7000系列Insyde BIOS隐藏选项

终极指南&#xff1a;深度解锁联想拯救者Y7000系列Insyde BIOS隐藏选项 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具&#xff0c;例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mirr…...

5步掌握跨平台资源下载神器:从音乐到短视频的完整解决方案

5步掌握跨平台资源下载神器&#xff1a;从音乐到短视频的完整解决方案 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否…...

AI 开发实战:质量门禁怎么设计,才不会让流程只剩形式

AI 开发实战&#xff1a;质量门禁怎么设计&#xff0c;才不会让流程只剩形式 一、这个问题为什么值得专门拿出来做&#xff1f; 在 AI 工程落地里&#xff0c;真正拖慢团队的往往不是模型本身&#xff0c;而是流程和协作方式没有跟上。 围绕“质量门禁怎么设计&#xff0c;才不…...

疯了!用 AI 做销售,一人能干三人活,效率直接拉满!

一、AI 秒出全场景话术&#xff0c;告别绞尽脑汁从破冰开场、持续跟进&#xff0c;到异议处理、逼单成交&#xff0c;AI 都能根据产品、客户、场景一键生成专业话术。新人不用死记硬背&#xff0c;复制粘贴就能专业沟通&#xff1b;老人不用反复修改&#xff0c;节省大把时间&a…...

【Java Web学习 | 第九篇】JavaScript(3) 数组+函数

【Java Web学习 | 第九篇】JavaScript(3) - 数组与函数进阶&#xff08;2026最新版&#xff09; 本篇对数组和函数进行更深入、实用的讲解&#xff0c;这是 Java Web 开发中处理后端返回数据&#xff08;JSON 数组/对象列表&#xff09;和封装业务逻辑的核心技能。 由于你特别…...