admin 管理员组

文章数量: 1087139


2024年12月24日发(作者:vbscript程序员应用手册)

Linux下常用软件安装

1. 软件安装

1.1 软件安装方式

在Redhat/CentOS系统中,安装软件的方式主要有四种,这四种安装方式的特点

如下:

安装方式

特点

二进制发布包

软件已经针对具体平台编译打包发布,只要解压,修改配置即可

安装【常用】

rpm安装

软件已经按照redhat的包管理规范进行打包,使用rpm命令进

行安装 不能自行解决库依赖问题

yum安装 【常一种在线软件安装方式,本质上还是rpm安装,自动下载安装包

用】

并安装,安装过程中自动解决库依赖问题(安装过程需要联网)

源码编译安装

软件以源码工程的形式发布,需要自己编译打包

1.2 安装JDK

#步骤:

#1. 上传安装包

#2. 解压安装包

tar -zxvf -C /usr/local

#3.配置环境变量,使用vim命令修改/etc/profile文件,在文件末尾加入如

下配置

vim /etc/profile

#3.1 先按大写G跳到最后一行,然后输入o进入插入模式,将如下内容添加

到最下边

JAVA_HOME=/usr/local/jdk1.8.0_171

PATH=

$JAVA_HOME

/bin:

$PATH

#3.2 ESC退出插入模式,:wq保存退出

#4.重新加载profile文件

source

/etc/profile

#5. 检查安装是否成功

java -version

复制代码

上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进

制发布包)形式来安装JDK。 JDK对应的二进制发布包,网上下载或从网盘中下

载:

JDK具体安装步骤如下:

1). 上传安装包

使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执

行指令 cd / 切换到根目录下,查看上传的安装包。

编辑

2). 解压安装包

执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放

目录为 /usr/local。

tar -zxvf -C /usr/local

复制代码

编辑

3). 配置环境变量

使用vim命令修改/etc/profile文件,在文件末尾加入如下配置

JAVA_HOME

=/usr/local/jdk1.

8.0

_171

PATH

=

$JAVA_HOME

/bin:

$PATH复制代码

具体操作指令如下:

1). 编辑/etc/profile文件,进入命令模式

vim /etc/profile

2). 在命令模式中,输入指令 G (大写), 切换到文件最后

G

3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行

o

4). 将上述的配置拷贝到文件中

JAVA_HOME=/usr/local/jdk1.8.0_171

PATH=

$JAVA_HOME

/bin:

$PATH

5). 从插入模式,切换到指令模式

ESC

6). 按:进入底行模式,然后输入wq,回车保存

:wq

复制代码

4). 重新加载profile文件

为了使更改的配置立即生效,需要重新加载profile文件,执行命令:

source

/etc/profile

复制代码

5). 检查安装是否成功

java -version

复制代码

编辑

1.3 安装Tomcat

1.3.1 Tomcat安装

Tomcat的安装和上述JDK的安装采用相同的方式,都是使用二进制发布包的形

式进行安装,在我们的资料目录下,也已经准备了Tomcat的安装包:

#1.上传

#2.解压 tar -zxvf

-C /usr/local

#3.启动

#

切换到bin目录 cd /usr/local/apache-tomcat-7.0.57/bin

sh 或者./

复制代码

具体安装步骤如下:

1). 上传安装包

使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux(与前面上

传JDK安装包步骤一致)。

编辑

2). 解压安装包

将上传上来的安装包解压到指定目录/usr/local下,执行命令为

tar -zxvf -C /usr/local

复制代码

3). 启动Tomcat

进入Tomcat的bin目录启动服务。执行命令为:

cd

/usr/local/apache-tomcat-7.0.57/bin

sh

#./复制代码

1.3.2 Tomcat进程查看

上述我们将Tomcat启动完成之后,并不能知道Tomcat是否正常运行,那么我们

验证Tomcat启动是否成功,有多种方式,我们这里主要介绍常见的两种方式:

1). 查看启动日志

Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动

及运行日志文件名为 ,所以我们查看Tomcat启动日志,主要可以通

过两条指令,如下:

1). 分页查询Tomcat的日志信息

more /usr/local/apache-tomcat-7.0.57/logs/

2). 查询日志文件尾部的50行记录

tail

-50 /usr/local/apache-tomcat-7.0.57/logs/

复制代码

只要Tomcat在启动的过程中,日志输出没有报错,基本可以判定Tomcat启动成

功了。

2). 查询系统进程

我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存

在,从而判定Tomcat是否启动。执行如下指令:

ps -ef|

grep

tomcat

复制代码

编辑

说明:

ps命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进

程的详细信息

"|" 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入

使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定

进程

3).通过端口

#安装查看端口占用的命令

yum install -y lsof

lsof -i:8080

复制代码

1.3.3 防火墙操作【了解】

前面我们已经通过日志的方式及查看系统进程的方式,验证了Tomcat服务已经

正常启动,接下来我们就可以尝试访问一下。

那为什么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

"> <

span

style

="

color

:

#aa5500

">#关闭防火墙

span

>

<

span

style

="

color

:

#aa5500

">

#system

control

: 系统控制

span

>

systemctl

<

span

style

="

color

:

#3300aa

">

stop

span

>

firewalld

<

span

style

="

color

:

#aa5500

">#禁用开机自启动

span

>

systemctl

disable

firewalld

span

>

span

>

复制代码

关闭之后,再次访问Tomcat,就可以访问到了。

编辑

B. 开放Tomcat的端口号8080【了解】

执行指令:

<

span

style

="

background-color

:

#f8f8f8

"><

span

style

="

color

:

#333333

"> <

span

style

="

color

:

#aa5500

">#①. 先开启系统防火墙

span

>

systemctl

<

span

style

="

color

:

#3300aa

">

start

span

>

firewalld

<

span

style

="

color

:

#aa5500

">#②. 再开放

8080

端口号

span

>

firewall-cmd

<

span

style

="

color

:

#0000cc

">

--zone

span

><

span

style

="

color

:

#981a1a

">=

span

>

public

<

span

style

="

color

:

#0000cc

">

--add-port

span

><

span

style

="

color

:

#981a1a

">=

span

><

span

style

="

color

:

#116644

">

8080

span

>/

tcp

<

span

style

="

color

:

#0000cc

">

--permanent

span

>

<

span

style

="

color

:

#aa5500

">#③. 重新加载防火墙

span

>

firewall-cmd

<

span

style

="

color

:

#0000cc

">

--reload

span

>

span

>

span

>

复制代码

执行上述的操作之后,就开放了当前系统中的8080端口号,再次访问Tomcat。

编辑

1.3.4 停止Tomcat

在Linux系统中,停止Tomcat服务的方式主要有两种:

1). 运行Tomcat提供的脚本文件

在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本

文件,其中有一个脚本就是用于停止tomcat服务的。

编辑到bin目录,并执行如下指令,来停止Tomcat服务:

sh

#./

复制代码

2). 结束Tomcat进程

我们可以先通过

ps -ef|grep tomcat

指令查看tomcat进程的信息,从进程信

息中获取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。

编辑

通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就

可以通过指令 ,来杀死tomcat的进程 :

kill

-9 79947

复制代码

执行完上述指令之后,我们再访问Linux系统中的Tomcat,就访问不到了。

注意:

kill命令是Linux提供的用于结束进程的命令,-9表示强制结束

注意 :

虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使

用第一种方式(./)执行脚本来关闭tomcat服务,如果

通过第一种方式停止不了tomcat了,这个时候,我们可以考虑使

用第二种方式,强制杀死进程。

1.4 安装MySQL

1.4.1 MySQL安装

对于MySQL数据库的安装,我们将要使用前面讲解的第二种安装方式rpm进行

安装。那么首先我们先了解一下什么rpm?

RPM: 全称为 Red-Hat Package Manager,RPM软件包管理器,是

红帽Linux用于管理和安装软件的工具。

我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:

1). 检测当前系统是否安装过MySQL相关数据库

需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执

行指令如下:

rpm -qa 查询当前系统中安装的所有软件

rpm -qa |

grep

mysql 查询当前系统中安装的名称带mysql的软件

rpm -qa |

grep

mariadb 查询当前系统中安装的名称带mariadb的软件

复制

代码

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所

以我们可以通过管道符 | 配合着grep进行过滤查询。

rpm -qa |

grep

mysql

rpm -qa |

grep

mariadb

复制代码

编辑

通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,

而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要

卸载mariadb数据库。

2). 卸载现有的MySQL数据库

在rpm中,卸载软件的语法为:

rpm -e

--nodeps

软件名称

复制代码

那么,我们就可以通过指令,卸载 mariadb,具体指令为:

#软件名称不是固定的

#需要根据上边查询出来的进行修正

rpm -e --nodeps 7_5.x86_64

复制代码

编辑

我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸

载了。

3). 将资料中提供的MySQL安装包上传到Linux并解压

A. 上传MySQL安装包

在课程资料中,提供的有MySQL的安装包 ,我们需要将该安装包上传到Linux

系统的根目录 / 下面。

编辑

B. 解压到/usr/local/mysql

执行如下指令:

mkdir

/usr/local/mysql

tar -zxvf 7.x86_ -C

/usr/local/mysql

复制代码

编辑

4). 安装顺序安装rpm安装包

#切换到解压目录

cd

/usr/local/mysql

rpm -ivh 7.x86_

rpm -ivh 7.x86_

rpm -ivh 7.x86_

rpm -ivh 7.x86_

rpm -ivh 7.x86_

yum install -y net-tools

yum install -y

rpm -ivh 7.x86_

复制代码

说明:

因为rpm安装方式,是不会自动处理依赖关系的,需要我们

自己处理,所以对于上面的rpm包的安装顺序不能随意修改。

安装过程中提示缺少net-tools依赖,使用yum安装(yum是

一种在线安装方式,需要保证联网)

可以通过指令(yum update)升级现有软件及系统内核

编辑

安装问题

安装mysql 时可能出现如下问题

#执行如下命令

yum install -y

复制代码

1.4.2 MySQL启动

MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我

们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。

<

span

style

="

background-color

:

#f8f8f8

"><

span

style

="

color

:

#333333

"> <

span

style

="

color

:

#aa5500

">#查看

mysql

服务状态

span

>

<

span

style

="

color

:

#0000ff

">

systemctl

status

mysqld

span

>

<

span

style

="

color

:

#aa5500

">#启动

mysql

服务

span

>

<

span

style

="

color

:

#0000ff

">

systemctl

start

mysqld

span

>

<

span

style

="

color

:

#aa5500

">

#systemctl

stop

mysqld

#停止

mysql

服务

span

>

span

>

span

>

复制代码

说明:

可以设置开机时启动mysql服务,避免每次开机启动mysql。执行

如下指令:

systemctl enable mysqld

编辑

我们可以通过如下两种方式,来判定mysql是否启动:

<

span

style

="

background-color

:

#f8f8f8

"><

span

style

="

color

:

#333333

">

netstat

-tunlp

查看已经启动的服务

netstat

-tunlp

|

grep

mysql

查看

mysql

的服务信息

#lsof

-i

:

3306

span

>

span

>

复制代码

<

span

style

="

background-color

:

#f8f8f8

"><

span

style

="

color

:

#333333

">

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中的进程数据。

编辑

1.4.3 MySQL登录

1.4.3.1 查阅临时密码

MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,

需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访

问密码,那这个访问密码是多少呢? 那实际上,对于rpm安装的mysql,在mysql

第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的

日志文件 /var/log/中,我们可以查看这份日志文件,从而获取到访问

密码。

可以执行如下指令:

1). cat /var/log/

编辑

这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们

可以通过管道符 | 配合grep来对数据进行过滤。

2). 根据password进行快速查找

cat

/var/

log

/mysqld.

log

| grep password

复制代码

我们可以通过上述指令,查询日志文件内容中包含password的行信息。

编辑

1.4.3.2 登录MySQL

获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的

密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数

据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。

执行如下指令:

#①. 登录mysql(复制日志中的临时密码登录)

mysql -uroot -p

#粘贴复制的密码

#必须保证进入到

#mysql>:

#②. 修改密码

#2.1 设置密码长度最低位数

set global

validate_password_length

=

4;

#2.2 设置密码安全等级低,便于密码可以修改成

mysql命令行:

root

set global

validate_password_policy

=LOW

;

#2.3 设置密码为root

set

password

= password(

'root'

)

;

#③. 开启访问权限

grant all on *.* to 'root'@'%' identified by 'root'

;

flush privileges

;复制代码

操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,

接下来,可以执行exit退出mysql,再次通过新的密码进行登录。

当然我们也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接

linux上的MySQL。

注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,

执行如下指令:

firewall-cmd

--zone

=public

--add-port

=

3306

/tcp

--permanent

firewall-cmd

--reload

#或者直接关闭防火墙

systemctl stop firewalld

复制代码


本文标签: 安装 系统 命令 查看 文件