Linux下tomcat的安装使用及原理

步骤:

(i)上传安装文件,并解压缩到/opt/tomcat

(ii)进入解压缩目录/bin,启动tomcat(Linux下启动tomcat用的命令是./startup.sh

(iii)开放端口8080(即防火墙打开后,要将8080端口加入到打开的列表里)

(iv)测试是否安装成功,在windows和linux下测试的方法均为访问http://ip:8080

1.下载安装文件,首先找到Apache官网

找到Apache官网

不知道下载那个版本的tomcat就点击which version

tomcat版本和java版本要对应

注意,tomcat的版本是和java版本要对应而不是和jdk版本对应(虽然大多数情况下java版本和jdk版本都是相同的),官网中右边的Superted java version显示的是这个tomcat支持的最低java版本,因此,我们首先要确定自己的java属于哪个版本才好选择。通过“java -version”确定java版本

java版本

可以看到版本信息是1.8.0_201,而官网显示的是java几,其实1.8.0_201是另一种命名方式,1表示发行的系列号,8才表示版本,或者也可以将这个信息进行百度查看是属于哪个版本

确定java版本

可是知道,当下java的版本是8,因此,根据官网信息可以选择的tomcat版本有10.0.x以下的都可以选择。这里选择了8.5.x进行下载

找到下载文件进行下载

得到tomcat压缩文件

tomcat文件

2.上传安装文件,并解压缩到/opt/tomcat

查看上传的文件并进行解压

得到解压后的文件

进入到解压后的目录再进到bin目录

进入bin目录

可以看到有一个可执行文件startup.sh,直接执行它就启动了tomcat

启动tomcat

可以看到已经启动了tomcat,并且还找到了我们配置的jdk

现在可以进行测试,先在客户端ping一下服务器看能否连接上

网络联通

可以进行访问,结果发现并不能访问,原因是我的端口8080是容器内容的端口,容器内部端口对外不可见,所以应该将容器内部端口8080映射到外部宿主机上(即物理机),但是由于需要管理员权限,没法弄,因此作罢。

防火墙没有将8080加入到打开端口

插曲:端口映射

因为进行将容器的端口映射到宿主机上需要在建立容器的时候进行,因此,这里重新建立一个名为fordevelop的容器,事先知道,要有ssh和tomcat这两个服务,并且这两个服务的默认端口分别是22和8080,在这建立这个容器并且进行两个端口的映射(这个过程具体详见“如何利用docker镜像创建一个容器并为容器中的服务进行端口映射?”)

新建容器并且进行端口映射

在这个容器里重复上述操作(注意,新容器里要按照java环境,否则无法启动tomcat)

插曲完

在上述问题(容器端口映射)解决后,再来“服务器ip地址:端口号”看一下tomcat情况

可见tomcat已经启动

现在,可以在webapps/ROOT下放置html文件

将html文件放在webapps/ROOT/下

就可以在浏览器进行访问

网页访问成功

到此,tomcat配置成功,总结一下现在的情况是

tomcat工作原理图

即Liunx下有一个Tomcat在8080端口监听

外部有windows等客户端通过8080访问到tomcat

tomcat可以将它的文件传送回外部客户端

已经通了!!

举报