TOMCAT优化禁用AJP协议
在登陆tomcat在服务状态页面中可以看到,默认状态下启用AJP服务,并且占用了8009端口。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VuPdDRGl-1632534839328)(/images/0/)]
什么是AJP?
AJP(Apache JServer Protocol) AJPv13协议是面向包的。web服务器和Servlet容器通过TCP连接来交互;为了节省socket创建的昂贵代价,web服务器会尝试维护一个永久TCP连接到servlet容器,并且在多个请求和响应周期过程会重用连接。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ftcUnyuS-1632534839330)(/images/925/)]
有两种方式请求web服务
第一种:请求tomcat服务器8080端口 直接请求。
第二种:生产环境常用,在web用户和tomcat之间架设一个web服务器,用户首先请求web服务器,然后由web服务器来请求tomcat,这样做的好处是在前面的web服务器可以做集群和缓存,如果web服务器和tomcat做的是短链接,这样的话就需要经常重新连接效率低,tomcat 在这里做了一个优化,架设了一个叫做ajp的长连接,这样就减少了创建连接和关闭连接的次数,但是AJP服务只有Apache服务器才能使用。我们一般不适用Apache服务,我们一般是使用Nginx + tomcat的架构,所以用不着AJP协议,所以把AJP连接器禁用;其实换个角度想,如果一个AJP服务我们用不到但是是开启着,肯定会造成资源的浪费。
如何禁用AJP
修改conf下的文件,将AJP服务禁用掉即可
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
将上面的代码注释掉即可禁用