在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:
安装方式 | 特点 |
---|---|
二进制发布包安装 | 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 |
rpm安装 | 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,==不能自行解决库依赖问题== |
yum安装 | 一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题(安装过程需要联网) |
源码编译安装 | 软件以源码工程的形式发布,需要自己编译打包 |
上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发布包)形式来安装JDK。 JDK对应的二进制发布包
JDK具体安装步骤如下:
1). 上传安装包
使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux
由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执行指令 cd / 切换到根目录下,查看上传的安装包。
2). 解压安装包
执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为 /usr/local。
3). 配置环境变量
使用vim命令修改/etc/profile文件,在文件末尾加入如下配置
<span style="background-color:#f8f8f8"><span style="color:#333333">JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH</span></span>
具体操作指令如下:
<span style="background-color:#f8f8f8"><span style="color:#333333">1). 编辑/etc/profile文件,进入命令模式
vim /etc/profile
?
2). 在命令模式中,输入指令 G , 切换到文件最后
G
?
3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行
i
?
4). 将上述的配置拷贝到文件中
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
5). 从插入模式,切换到指令模式
ESC
6). 按:进入底行模式,然后输入wq,回车保存
:wq</span></span>
4). 重新加载profile文件
为了使更改的配置立即生效,需要重新加载profile文件,执行命令:
<span style="background-color:#f8f8f8"><span style="color:#333333">source /etc/profile</span></span>
5). 检查安装是否成功
<span style="background-color:#f8f8f8"><span style="color:#333333">java -version</span></span>
Tomcat的安装和上述JDK的安装采用相同的方式,都是使用二进制发布包的形式进行安装
具体安装步骤如下:
1). 上传安装包
使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux(与前面上传JDK安装包步骤一致)。
2). 解压安装包
将上传上来的安装包解压到指定目录/usr/local下,执行命令为
<span style="background-color:#f8f8f8"><span style="color:#333333">tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local</span></span>
3). 启动Tomcat
进入Tomcat的bin目录启动服务。执行命令为:
<span style="background-color:#f8f8f8"><span style="color:#333333">cd /usr/local/apache-tomcat-7.0.57/
?
cd bin
?
sh startup.sh或者./startup.sh</span></span>
上述我们将Tomcat启动完成之后,并不能知道Tomcat是否正常运行,那么我们验证Tomcat启动是否成功,有多种方式,我们这里主要介绍常见的两种方式:
1). 查看启动日志
Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运行日志文件名为 catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指令,如下:
<span style="background-color:#f8f8f8"><span style="color:#333333">1). 分页查询Tomcat的日志信息
more /usr/local/apache-tomcat-7.0.57/logs/catalina.out
?
2). 查询日志文件尾部的50行记录
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out</span></span>
只要Tomcat在启动的过程中,日志输出没有报错,基本可以判定Tomcat启动成功了。
2). 查询系统进程
我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从而判定Tomcat是否启动。执行如下指令:
<span style="background-color:#f8f8f8"><span style="color:#333333">ps -ef|grep tomcat</span></span>
说明:
==ps==命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
=="|"== 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入
使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程
前面我们已经通过日志的方式及查看系统进程的方式,验证了Tomcat服务已经正常启动,接下来我们就可以尝试访问一下。访问地址:http://192.168.138.130:8080,我们发现是访问不到的。
那为什么tomcat启动成功了,但就是访问不到呢?原因就在于Linux系统的防火墙,系统安装完毕后,系统启动时,防火墙自动启动,防火墙拦截了所有端口的访问。接下来我们就需要学习一下,如何操作防火墙,具体指令如下:
操作 | 指令 | 备注 |
---|---|---|
查看防火墙状态 | systemctl status firewalld / firewall-cmd --state | |
暂时关闭防火墙 | systemctl stop firewalld | |
永久关闭防火墙(禁用开机自启) | systemctl disable firewalld | ==下次启动,才生效== |
暂时开启防火墙 | systemctl start firewalld | |
永久开启防火墙(启用开机自启) | systemctl enable firewalld | ==下次启动,才生效== |
开放指定端口 | 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 |
注意:
A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
B. firewall-cmd是Linux中专门用于控制防火墙的命令
C. 为了保证系统安全,服务器的防火墙不建议关闭
那么我们要想访问到Tomcat,就可以采取两种类型的操作:
A. 关闭防火墙
执行指令 :
<span style="background-color:#f8f8f8"><span style="color:#333333">systemctl stop firewalld</span></span>
关闭之后,再次访问Tomcat,就可以访问到了。
注意: 上面我们也提到了,直接关闭系统的防火墙,是不建议的,因为这样会造成系统不安全。
B. 开放Tomcat的端口号8080
执行指令:
<span style="background-color:#f8f8f8"><span style="color:#333333">①. 再开放8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
?
②. 重新加载防火墙
firewall-cmd --reload</span></span>
执行上述的操作之后,就开放了当前系统中的8080端口号,再次访问Tomcat。
在Linux系统中,停止Tomcat服务的方式主要有两种:
1). 运行Tomcat提供的脚本文件
在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,其中有一个脚本就是用于停止tomcat服务的。
我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务:
<span style="background-color:#f8f8f8"><span style="color:#333333">sh shutdown.sh
./shutdown.sh</span></span>
2). 结束Tomcat进程
我们可以先通过 ps -ef|grep tomcat
指令查看tomcat进程的信息,从进程信息中获取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。
通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :
<span style="background-color:#f8f8f8"><span style="color:#333333">kill -9 79947 </span></span>
执行完上述指令之后,我们再访问Linux系统中的Tomcat,就访问不到了。
注意:
kill命令是Linux提供的用于结束进程的命令,-9表示强制结束
注意 :
虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat了,这个时候,我们可以考虑使用第二种方式,强制杀死进程。
对于MySQL数据库的安装,我们将要使用前面讲解的第二种安装方式rpm进行安装。那么首先我们先了解一下什么rpm?
RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。
我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:
1). 检测当前系统是否安装过MySQL相关数据库
需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:
<span style="background-color:#f8f8f8"><span style="color:#333333">rpm -qa 查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件</span></span>
通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。
通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。
2). 卸载现有的MySQL数据库
在rpm中,卸载软件的语法为:
<span style="background-color:#f8f8f8"><span style="color:#333333">rpm -e --nodeps 软件名称</span></span>
那么,我们就可以通过指令,卸载 mariadb,具体指令为:
<span style="background-color:#f8f8f8"><span style="color:#333333">rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64</span></span>
我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。
3). 将资料中提供的MySQL安装包上传到Linux并解压
A. 上传MySQL安装包
B. 解压到/usr/local/mysql
执行如下指令:
<span style="background-color:#f8f8f8"><span style="color:#333333">mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql
cd /usr/local/mysql</span></span>
4). 安装顺序安装rpm安装包
<span style="background-color:#f8f8f8"><span style="color:#333333">rpm <span style="color:#0000cc">-ivh</span> mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm <span style="color:#0000cc">-ivh</span> mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm <span style="color:#0000cc">-ivh</span> mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm <span style="color:#0000cc">-ivh</span> mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm <span style="color:#0000cc">-ivh</span> mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm <span style="color:#0000cc">-ivh</span> mysql-community-server-5.7.25-1.el7.x86_64.rpm</span></span>
说明:
2因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证联网)
可以通过指令(yum update)升级现有软件及系统内核
MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。
<span style="background-color:#f8f8f8"><span style="color:#333333">systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl stop mysqld 停止mysql服务</span></span>
说明:
可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:
systemctl enable mysqld
我们可以通过如下两种方式,来判定mysql是否启动:
<span style="background-color:#f8f8f8"><span style="color:#333333">netstat -tunlp 查看已经启动的服务
netstat -tunlp | grep mysql 查看mysql的服务信息
?
ps -ef | grep mysql 查看mysql进程</span></span>
备注:?
A. netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
参数说明:
-l或--listening:显示监控中的服务器的Socket; ? -n或--numeric:直接使用ip地址,而不通过域名服务器; ? -p或--programs:显示正在使用Socket的程序识别码和程序名称; ? -t或--tcp:显示TCP传输协议的连线状况; ? -u或--udp:显示UDP传输协议的连线状况;
B. ps命令用于查看Linux中的进程数据。
MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢? 那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。
可以执行如下指令:
1). cat /var/log/mysqld.log
这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。
2). cat /var/log/mysqld.log | grep password
我们可以通过上述指令,查询日志文件内容中包含password的行信息。
获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。
执行如下指令:
<span style="background-color:#f8f8f8"><span style="color:#333333">①. 登录mysql(复制日志中的临时密码登录)
mysql -uroot -p
?
②. 修改密码
? set global validate_password_length=4; 设置密码长度最低位数
? set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成root
? set password = password('root'); 设置密码为root
? ?
③. 开启访问权限
? grant all on *.* to 'root'@'%' identified by 'root';
? flush privileges;
④ 退出mysql
? exit</span></span>
操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql,再次通过新的密码进行登录。
当然我们也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接linux上的MySQL。
==注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:==
<span style="background-color:#f8f8f8"><span style="color:#333333">① 放开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
?
② 让上面放行的操作立即生效
firewall-cmd --reload
?
③查看一下3306端口是否放行
firewall-cmd --zone=public --list-ports</span></span>
lrzsz 是用于在Linux系统中文件上传下载的软件。大家可能会存在疑问,我们用finalShell图形化界面就可以很方便的完成上传下载,为什么还要使用这个软件来完成上传下载呢?实际上是这样的,Linux的远程连接工具有很多,而finalShell只是其中的一种,而还有很多的远程连接工具并没有上传下载的功能,这个时候就需要依赖于lrzsz这个软件了。
对于lrzsz的安装,我们需要通过第三种软件安装方式yum来进行安装。这里,我们先对yum做一个简单介绍。
Yum: (Yellow dog Updater,Modified),是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
安装lrzsz的步骤如下:
1). 搜索lrzsz安装包
<span style="background-color:#f8f8f8"><span style="color:#333333">yum list lrzsz</span></span>
2). 在线安装lrzsz
<span style="background-color:#f8f8f8"><span style="color:#333333">yum install lrzsz.x86_64</span></span>
3). 测试
在命令行中输入 rz , 就会自动打开一个文件选择的窗口,然后选择要上传的文件。
yum拓展知识:
1). 如果在不更改软件来源的情况下,是需要联网才能使用yum的,那么我们安装的软件是从哪儿下载的呢,这里就涉及到一个概念: yum源。
2). 我们可以通过一个指令,来检查当前的yum源
从图中,我们可以看到我们安装的 CentOS7 采用的是网易的163yum源。
3). 网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为"*.repo"
可以看到,该目录下有 7 个 yum 配置文件,通常情况下 CentOS-Base.repo 文件生效。
4). 添加阿里云yum源
A. 先通过
yum install wget
,安装wget命令B. 备份默认的网易163的yum源,执行指令 :
切换目录: cd /etc/yum.repos.d/
创建备份目录: mkdir bak
移动现有的yum源文件到bak: mv *.repo bak/
C. 下载阿里云的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
D. 执行命令,重新生成cache
yum clean all
yum makecache
E. 再次查看yum源
之后,我们通过yum指令安装软件,就是从阿里云下载的。