欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

tomcat简介与配置

程序员文章站 2022-07-01 14:56:18
tomcat简介 tomcat就是常用的的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。 tomcat常应用于lnmt环境 Tomcat是Apache 软件基金会(Apache ......

tomcat简介

tomcat就是常用的的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。
tomcat常应用于lnmt环境

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 独立的进程单独运行的。
诀窍是,当配置正确时,apache 为html页面服务,而tomcat 实际上运行jsp 页面和servlet。另外,tomcat和iis等web服务器一样,具有处理html页面的功能,另外它还是一个servlet和jsp容器,独立的servlet容器是tomcat的默认模式。不过,tomcat处理静态html的能力不如apache服务器。目前tomcat最新版本为9.0。

tomcat部署

#安装java环境
[root@lynk ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
[root@lynk ~]# java -version
openjdk version "1.8.0_201"
openjdk runtime environment (build 1.8.0_201-b09)
openjdk 64-bit server vm (build 25.201-b09, mixed mode)

#在官网下载tomcat
[root@lynk ~]# cd /usr/src/
[root@lynk src]# wget http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz
#解压并安装tomcat
[root@lynk src]# tar xf apache-tomcat-9.0.8.tar.gz -c /usr/local/
[root@lynk src]# cd /usr/local/
[root@lynk local]# ln -s apache-tomcat-9.0.8/ tomcat

#编写一个测试用页面
[root@lynk local]# cat > index.jsp <<eof
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
            out.println("hellow world");
        %>
</body>
</html>
eof
[root@lynk local]# mkdir /usr/local/tomcat/webapps/test
[root@lynk local]# cp index.jsp /usr/local/tomcat/webapps/test/
[root@lynk local]# ll /usr/local/tomcat/webapps/test/
总用量 4
-rw-r--r--. 1 root root 141 3月   7 14:23 index.jsp

#启动tomcat
[root@lynk local]# /usr/local/tomcat/bin/catalina.sh start
[root@lynk local]# ss -antl
state       recv-q send-q        local address:port                       peer address:port              
listen      0      128                       *:22                                    *:*                  
listen      0      100               127.0.0.1:25                                    *:*                  
listen      0      100                      :::8080                                 :::*                  
listen      0      128                      :::22                                   :::*                  
listen      0      100                     ::1:25                                   :::*                  
listen      0      1          ::ffff:127.0.0.1:8005                                 :::*                  
listen      0      100                      :::8009                                 :::*                  
#关闭防火墙
[root@lynk local]# systemctl stop firewalld

启用管理功能

#修改配置文件
[root@lynk local]# vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<!-- 
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
-->   #如果有需要,可以取消这段内容的注释
<role rolename="admin-gui"/>
<!--
<role rolename="admin-script"/>
-->   #如果有需要,可以取消这段内容的注释
<user username="tomcat" password="lynk123" roles="manager-gui,admin-gui"/>
</tomcat-users>

#修改访问控制规则
[root@lynk local]# vim /usr/local/tomcat/webapps/manager/meta-inf/context.xml
#修改下面这一项为自己的ip或者ip网段
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 />
#比如我的ip在192.168.0.0网段
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.\d+\.\d+" />

#重启tomcat服务
[root@lynk local]# /usr/local/tomcat/bin/catalina.sh stop
[root@lynk /usr/local/tomcat/bin/catalina.sh startop
···
tomcat started.

[root@lynk local]# ss -antl
state       recv-q send-q        local address:port                       peer address:port              
listen      0      128                       *:22                                    *:*                  
listen      0      100               127.0.0.1:25                                    *:*                  
listen      0      100                      :::8080                                 :::*                  
listen      0      128                      :::22                                   :::*                  
listen      0      100                     ::1:25                                   :::*                  
listen      0      1          ::ffff:127.0.0.1:8005                                 :::*                  
listen      0      100                      :::8009                                 :::*