tomcat概述
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当公司运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
Nginx、Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache、Nginx服务器。Tomcat最新版本为10.0.23。
tomcat 的配置文件主要由4个 xml 文件构成(context.xml、web.xml、server.xml、tomcat-users.xml)
1. context.xml
Context.xml 是 Tomcat 公用的环境配置,tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。
服务一旦启动,在去修改server.xml,就得需要重新加载配置文件,或者重新启动服务来加载文件。 而context.xml的优势是无需重启。 所以我们一般会在这个文件中独立配置。
2. web.xml
Web应用程序描述文件,都是关于是Web应用程序的配置文件。所有Web应用的 web.xml 文件的父文件。
3. server.xml
server.xml是对tomcat的设置,可以设置端口号,添加虚拟机这些的,是对服务器的设置
4. tomcat-users.xml
Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。Tomcat是Java领域使用最广泛的服务器之一,因此Tomcat Manager也成为了使用非常普遍的功能应用。
Tomcat Manager的用户配置是在Tomcat安装目录/conf/tomcat-users.xml文件中进行管理的
下面开始实现tomcat的安装
tomcat是一个java项目,首先需要部署一个JDK环境
先下载jdk安装包,然后创建/opt/module目录来存放安装包,然后解压到该目录下
[root@server155 ~]# ls
anaconda-ks.cfg jdk-8u321-linux-x64.tar.gz original-ks.cfg
[root@server155 ~]# mkdir /opt/module
[root@server155 ~]# tar -xf jdk-8u321-linux-x64.tar.gz -C /opt/module
[root@server155 ~]# ls /opt/module/
jdk1.8.0_321
然后配置环境变量
[root@server155 ~]# vim /etc/profile.d/jdk.sh
JAVA_HOME=/opt/module/jdk1.8.0_321
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASSPATH
然后刷新一下配置文件,让环境变量生效,查看jdk版本,能看到就是安装好了
[root@server155 ~]# source /etc/profile
[root@server155 ~]# java -version
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
然后开始安装tomcat
先下载安装包,然后解压到/usr/local目录下,并修改目录名
[root@server155 ~]# ls
anaconda-ks.cfg apache-tomcat-8.5.93.tar.gz jdk-8u321-linux-x64.tar.gz original-ks.cfg
[root@server155 ~]# tar -xf apache-tomcat-8.5.93.tar.gz -C /usr/local/
[root@server155 ~]# mv /usr/local/apache-tomcat-8.5.93 /usr/local/tomcat-8.5
然后编写脚本配置tomcat启动管理命令
[root@server155 ~]# vim /usr/bin/tomcat
if [ $# -ne 1 ]
then
echo "use error. use : tomcat start/stop/restart" >&2;
exit 1
fi
case $1 in
start)
/usr/local/tomcat-8.5/bin/startup.sh
;;
stop)
/usr/local/tomcat-8.5/bin/shutdown.sh
;;
restart)
/usr/local/tomcat-8.5/bin/shutdown.sh
sleep 0.2
/usr/local/tomcat-8.5/bin/startup.sh
;;
*)
echo "tomcat start/stop/restart"
exit 2
;;
esac
给脚本赋予执行权限
chmod a+x /usr/bin/tomcat
然后启动tomcat,查看端口可以看到已经启动成功
[root@server155 ~]# tomcat start
Using CATALINA_BASE: /usr/local/tomcat-8.5
Using CATALINA_HOME: /usr/local/tomcat-8.5
Using CATALINA_TMPDIR: /usr/local/tomcat-8.5/temp
Using JRE_HOME: /opt/module/jdk1.8.0_321/jre
Using CLASSPATH: /usr/local/tomcat-8.5/bin/bootstrap.jar:/usr/local/tomcat-8.5/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@server155 ~]# netstat -pantl | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 1594/java
然后去浏览器中查看,可以看到这个页面就是安装完成了
点击其它网页试试
但是,点这个页面中的的其它网页无法跳转,页面明显显示403权限被拒绝,这是因为默认设置了basic认证,需要我们去授权才可以访问
首先查看我们网页里有几个页面信息
[root@server155 ~]# ls /usr/local/tomcat-8.5/webapps/
docs examples host-manager manager ROOT
可以看到有好几个页面的信息,然后我就先修改host-manager的然后去访问它
首先修改访问ip的控制权限,允许我们的IP访问
vim /usr/local/tomcat-8.5/webapps/host-manager/META-INF/context.xml
然后去另一个配置文件里查看用户权限控制的角色名
vim /usr/local/tomcat-8.5/webapps/host-manager/WEB-INF/web.xml
然后去修改我们的用户角色配置文件
vim /usr/local/tomcat-8.5/conf/tomcat-users.xml
修改完毕以后就可以重启动tomcat测试了
[root@server155 ~]# tomcat restart
Using CATALINA_BASE: /usr/local/tomcat-8.5
Using CATALINA_HOME: /usr/local/tomcat-8.5
Using CATALINA_TMPDIR: /usr/local/tomcat-8.5/temp
Using JRE_HOME: /opt/module/jdk1.8.0_321/jre
Using CLASSPATH: /usr/local/tomcat-8.5/bin/bootstrap.jar:/usr/local/tomcat-8.5/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Using CATALINA_BASE: /usr/local/tomcat-8.5
Using CATALINA_HOME: /usr/local/tomcat-8.5
Using CATALINA_TMPDIR: /usr/local/tomcat-8.5/temp
Using JRE_HOME: /opt/module/jdk1.8.0_321/jre
Using CLASSPATH: /usr/local/tomcat-8.5/bin/bootstrap.jar:/usr/local/tomcat-8.5/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
然后去浏览器测试
然后就可以进去看到我们的tomcat情况了,其它页面也是同样的方法
允许IP访问以后查看访问权限的角色名
然后配置相应的用户名和密码就可以访问了
tomcat的basic访问权限控制就是这样了,大家可以自己试试访问其它页面的
写这文章的时候也有参考其它文章,如有侵权请告知删除