# tomcat

返回:服务器

Tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器,如IIS和Apache服务器

# 相关概念

  • 1、HTTP Connector:

拥有这个连接器,Tomcat才能成为一个web服务器,但还可处理Servlet和jsp。

  • 2、AJP Connector:

AJP连接器可以通过AJP协议和另一个web容器进行交互。

<Connector port="45600" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
1
2
3
4
  • 第一个连接器监听45600(默认是8080)端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
  • 第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。AJP连接器可以通过AJP协议和一个web容器进行交互。

# tomcat配置想详解

# 配置用户密码

back

修改$TOMCAT_HOME/conf/tomcat-users.xml

<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="admin,manager,manager-gui,admin-gui"/>
1
2
3
4
5

# 修改配置

back

如无新建$TOMCAT_HOME/conf/Catalina/localhost/manager.xml 内容如下:

<Context privileged="true" antiResourceLocking="false"
 docBase="${catalina.home}/webapps/manager">
 <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
1
2
3
4

# 修改上传大小限制

在实际的项目过程中会发现war包的大小往往达到几十上百M,这时发布会出现失败,原因是tomcat默认最大只允许上传50M的文件,这时候需要去修改webapps\manager\WEB-INF\web.xml文件

<multipart-config>
 <!-- 50MB max -->
 <max-file-size>52428800</max-file-size>
 <max-request-size>52428800</max-request-size>
 <file-size-threshold>0</file-size-threshold>
</multipart-config>
1
2
3
4
5
6

# 配置白名单

修改配置文件$TOMCAT_HOME/webapps/manager/META-INF/context.xml

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
 allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|172\.\d+\.\d+\.\d+|192\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
1
2