1 安装Tomcat
1.1 Tomcat安装
Tomcat的安装和JDK的安装采用相同的方式,都是使用二进制发布包的形式进行安装。
安装包奉上:
tomcat:
链接:https://pan.baidu.com/s/1skEq8GozBg1V4BRB1ZhrcQ?pwd=6666 提取码:6666
具体安装步骤如下:
1). 上传安装包
使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux。
若不了解FinallShell如何上传,请参考:
FinallShell安装包:
链接:https://pan.baidu.com/s/12V2ZrkvKuWnyF23t7-7jkA?pwd=6666 提取码:6666
2). 解压安装包
将上传上来的安装包解压到指定目录/usr/local下,执行命令为
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
3). 启动Tomcat
进入Tomcat的bin目录启动服务。执行命令为:
cd /usr/local/apache-tomcat-7.0.57/ cd bin sh startup.sh或者./startup.sh
1.2 Tomcat进程查看
上述我们将Tomcat启动完成之后,并不能知道Tomcat是否正常运行,那么我们验证Tomcat启动是否成功,有多种方式,我们这里主要介绍常见的两种方式:
1). 查看启动日志
Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运行日志文件名为 catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指令,如下:
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
只要Tomcat在启动的过程中,日志输出没有报错,基本可以判定Tomcat启动成功了。
2). 查询系统进程
我们也可以通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从而判定Tomcat是否启动。执行如下指令:
ps -ef|grep tomcat
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E3VcA7MX-1661427109892)(assets/image-20210814225635982.png)]
说明:
- ps命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
- “|” 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入
- 使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程
1.3 防火墙操作
前面已经通过日志的方式及查看系统进程的方式,验证了Tomcat服务已经正常启动,接下来可以尝试访问一下。访问地址:“你的服务器ip的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. 关闭防火墙
执行指令 :
systemctl stop firewalld
关闭之后,再次访问Tomcat,就可以访问到了。
注意: 上面也提到了,直接关闭系统的防火墙,是不建议的,因为这样会造成系统不安全。
B. 开放Tomcat的端口号8080
执行指令:
①. 先开启系统防火墙 systemctl start firewalld ②. 再开放8080端口号 firewall-cmd --zone=public --add-port=8080/tcp --permanent ③. 重新加载防火墙 firewall-cmd --reload
执行上述的操作之后,就开放了当前系统中的8080端口号,再次访问Tomcat。
1.4 停止Tomcat
在Linux系统中,停止Tomcat服务的方式主要有两种:
1). 运行Tomcat提供的脚本文件
在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,其中有一个脚本就是用于停止tomcat服务的。
我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务:
sh shutdown.sh ./shutdown.sh
2). 结束Tomcat进程
我们可以先通过 ps -ef|grep tomcat
指令查看tomcat进程的信息,从进程信息中获取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。
通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :
kill -9 79947
执行完上述指令之后,我们再访问Linux系统中的Tomcat,就访问不到了。
注意:
kill命令是Linux提供的用于结束进程的命令,-9表示强制结束
注意 :
虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat了,这个时候,我们可以考虑使用第二种方式,强制杀死进程。