【linux-02】软件安装
写在开头
记录一下linux上安装各种软件的步骤,会一直更新~(2022.12.13)
安装方式
- 二进制发布包安装
软件已经针对具体平台编译打包发布,只要解压,修改配置即可 - rpm[1]安装
软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题 - yum[2]安装
一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题 - 源码编译安装
软件以源码工程的形式发布,需要自己编译打包
MySQL
22.12.13
准备工作
-
下载安装包[3]
-
查看是否安装MySQL,如果当前系统中已经安装,安装将失败,可参考查看已安装软件
-
由于博主使用的CentOS7自带mariadb数据库,与MySQL数据库冲突,所以需要先卸载mariadb,可参考卸载软件
-
请先了解yum和rpm软件安装基础指令
-
将安装包上传到linux,可参考上传文件(一般放到usr/local下的自建文件夹)
安装过程
#解压文件(-C 指定解压到目的目录,可以不写,默认为当前目录)
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql
#将解压到的文件按照顺序安装
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
#启动服务
systemctl status mysqld #查看mysql状态
systemctl start mysqld #启动mysql服务
systemctl enable mysqld #设为开机自启
netstat -tunlp |grep mysql #查看启动的服务 在其中找 mysql
ps -ef |grep mysql #查看启动的进程 在其中找 mysql
#查阅复制MySQL临时密码,登录MySQL
cat /var/log/mysqld.log |grep password #查看该文件中包含password的行信息
mysql -uroot -p #用刚才查到的临时密码登录
#MySQL配置
set global validate_password_length=4; #设置密码长度最低位数
set global validate_password_policy=low; #设置密码安全等级为低,否则设置简单密码时会失败
set password = password('root100'); #设置密码为root100
#开启权限
#注:以下都为普通用户
#如果没有则创建username为root的用户,对其授予所有权限,%代表允许所有地址使用密码root100连接
grant all on *.* to 'root'@'%' identified by 'root100';
#MySQL 8.0用这个
alter user 'root'@'%' identified with mysql_native_password by 'root100';
flush privileges; #推送设置到内存
select User,authentication_string,Host from user; #查看MySQL的用户、密码以及允许连接的地址
show variables like '%port%'; #可以跳过,查看MySQL端口,一般默认3306
#外部访问mysql需要linux开启防火墙对应端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent #开放3306端口
firewall-cmd --reload #立即生效
- 了解更多可参考防火墙相关指令
Nginx
22.12.14
更多nginx相关知识请移步
安装过程
#安装nginx依赖包
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
#下载nginx安装包
yum install wget
wget https://nginx.org/download/nginx-1.22.1.tar.gz
#默认解压到当前目录,最后加上-C path则解压到path地址
tar -zxvf nginx-1.22.1.tar.gz -C path
#进入文件夹
cd nginx-1.22.1
#检测安装需要的条件,配置一些环境等
./configure --prefix=/usr/local/nginx
#安装nginx
make && make install
nginx命令
#找到刚才创建的目录,进入其中的sbin文件夹,也可以用绝对路径/etc/local/nginx/sbin/nginx -v执行
#查看nginx版本
./nginx -v
#检查conf/nginx.conf配置文件是否有误
./nginx -t
#启动
./nginx
#查找nginx进程
ps -ef | grep nginx
#这时就可以在本地浏览器通过该虚拟机ip直接访问nginx服务器了,默认端口是80不用填写,如果访问失败,在linux上添加防火墙指定端口即可~
#停止
./nginx -s stop
#改变配置文件后,重新加载生效
./nginx -s reload
补充
JDK
22.12.18
准备工作
安装和启用
#解压到local目录下
tar -zxvf jdk-8u171-linux-x64.tar.gz-C /usr/local
#配置环境变量
vim /etc/profile
#在文末添加
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
#重新加载配置文件
source /etc/profile
#检查是否安装成功
java -version
配置环境变量更多可参考补充内容
Git
yum list git #列出git安装包
yum install git #在线安装git
Tomcat
准备工作
安装和启用
#解压安装包
tar -zxvf apache-tomcat-7.0.57.tar.gz -C/usr/local
#进入Tomcat的bin目录启动服务
sh startup.sh或者./startup.sh
#查看Tomcat启动是否成功:
1.查看启动日志
more /usr/local/apache-tomcat-7.0.57/logs/catalina.out
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out
2.查看进程ps -ef I grep tomcat
#启动成功后即可访问tomcat,默认端口8080,如果不能访问开放防火墙对应端口即可
#停止Tomcat服务:
1、运行Tomcat的bin目录中提供的停止服务的脚本文件
*sh shutdown.sh
*./shutdown.sh结束Tomcat进程
2、查看Tomcat进程,获得进程id xxx
执行命令结束进程kill -9 xxx
***注意: kill命令是Linux提供的用于结束进程的命令,-9表示强制结束
补充
Maven
准备工作
安装和配置
#解压安装包
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
#添加环境变量
vim /etc/profile
#修改配置文件,加入如下内容
MAVEN_HOME=/usr/local/apache-maven-3.5.4
PATH=$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
source /etc/profile
#查看版本,验证是否添加成功
mvn -version
#修改配置文件
vim /usr/local/apache-maven-3.5.4/conf/settings.xml
#添加本地仓库地址
<localRepository>/usr/local/maven_repo</localRepository>
#添加阿里镜像仓库
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
补充
- 添加环境变量相关可参考配置环境变量
Redis
22.12.19
准备工作
安装过程
#解压安装包
tar -zxvf redis-4.0.0.tar.gz -C /usr/local
#安装Redis的依赖环境gcc
yum install gcc-c++
#进入/usr/local/redis-4.0.0,进行编译
make
#如果之前编译失败过,需要清空编译历史
make distclean
#进入redis的src目录,进行安装
make install
启动、使用和关闭
- 启动服务端
- 在/usr/local/redis-4.0.0/src目录下
./redis-server - 加载配置文件启动:
./redis-server ../redis.conf - 直接使用绝对路径
/usr/local/redis-4.0.0/src/redis-server
- 在/usr/local/redis-4.0.0/src目录下
- 使用客户端
- 在/usr/local/redis-4.0.0/src目录下
./redis-cli - 直接使用绝对路径
/usr/local/redis-4.0.0/src/redis-cli
- 在/usr/local/redis-4.0.0/src目录下
- 关闭
- 强制关闭(断电,可能导致数据丢失)
- 查询redis进程,找到PID:
ps -ef | grep -i redis - 关闭进程:
kill -9 PID
- 查询redis进程,找到PID:
- 正常关闭(数据保存)
在客户端输入shutdown
- 强制关闭(断电,可能导致数据丢失)
配置
-
进入配置文件
- vim /usr/local/redis-4.0.0/redis.conf
- 搜索模式下n下一项,N(shift+n)上一项
-
设置后台运行
- 命令模式输入/dae搜索
- 找到daemonize,默认为no,改为yes
-
查看端口
- 命令模式输入/port搜索
-
设置密码,客户端连接时需要使用密码
- 命令模式输入/pass搜索
- 找到requirepass,解除注释,将默认值foobared改为自定义密码xxxx
- 这时在/usr/local/redis-4.0.0目录下,客户端登录时输入
- src/redis-cli -h localhost -p 6379
auth xxxx - src/redis-cli -h localhost -p 6379 -a xxxx
- src/redis-cli -h localhost -p 6379
-
设置redis可以被远程连接
- 命令模式输入bind搜索
- 找到bind 127.0.0.1,把它注释掉
-
设置redis服务器提供的数据库数量
- 命令模式输入database搜索
- 找到database 16,可以修改16设置数据库数量
- 默认进入0号数据库,用select x 切换不同数据库
补充
补充
查看已安装软件
- rpm -qa #查询当前系统安装的软件
- rpm -qa | grep software #查询当前系统中名称包含software的软件
卸载软件
- rpm -e --nodeps software
yum软件安装
- yum list software #搜索名字中包含software的软件安装包
- yum install software.version #安装software.version软件
- 更多指令可参考菜鸟教程-yum
rpm软件安装
- rpm -ivh filename
- -i:显示软件相关信息 -v:显示指令执行过程 -h:安装时列出执行进度等标记
- 更多指令可参考菜鸟教程-rpm
上传文件
- 部分SSH软件自带文件上传功能,可以直接使用
- 如果没有则需要安装lrzsz
- yum list lrzsz
- yum install lrzsz.x86_64
- 上传文件 rz
mysql密码校验
如果你的linux直接设置密码为root提示不满足安全策略的要求,说明mysql有密码校验。
我们可以通过(set global validate_password_policy=xxx;)更改密码校验等级:
- 0或low:满足长度需求即可
- 1或demium:除了长度还需满足其他配置要求
- 2或strong:除了0和1的要求,还不能使用连续4个及以上相同字符
可以通过(show variables like 'validate_password%';)指令查看密码校验规则的各项属性,通过(set global 属性名=xxx)改变属性值。
防火墙相关指令
*重要
firewall-cmd --zone=public --add-port=8080/tcp --permanent #开放指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent #关闭指定端口
firewall-cmd --reload #立即生效
firewall-cmd --zone=public --list-ports #查看开放的端口
systemctl status firewalld、firewall-cmd --state #查看防火墙状态
systemctl stop firewalld #暂时关闭防火墙
systemctl disable firewalld #永久关闭防火墙
systemctl start firewalld #开启防火墙
注意:
- systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
- firewall-cmd是Linux中专门用于控制防火墙的命令
- 为了保证系统安全,服务器的防火墙不建议关闭
配置环境变量
-
进入配置文件
vim /etc/prifile
-
在最后添加环境变量
- 以nginx举例,记住启动文件的目录路径,将其追加到环境变量即可
NGINX_HOME=/usr/local/nginx
PATH=$NGINX_HOME/sbin:$PATH
- 也可以直接将路径追加到环境变量中
PATH=/usr/local/nginx/sbin:$PATH
- 以nginx举例,记住启动文件的目录路径,将其追加到环境变量即可
-
重新加载配置文件
source /etc/prifile