Tomcat8优化
tomcat服务器在JavaEE项目中使用率非常高,所以在生产环境对tomcat的优化也变得非 常重要了。
对于tomcat的优化,主要是从2个方面入手,一是,tomcat自身的配置,另一个是 tomcat所运行的jvm虚拟机的调优。
下面我们将从这2个方面进行讲解。
Tomcat配置优化
部署安装tomcat8
下载并安装:https://tomcat.apache.org/download-80.cgi
cd /tmp
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat‐ 8/v8.5.34/bin/apache‐tomcat‐8.5.34.tar.gz
tar ‐xvf apache‐tomcat‐8.5.34.tar.gz
cd apache‐tomcat‐8.5.34/conf
#修改配置文件,配置tomcat的管理用户
vim tomcat‐users.xml
#写入如下内容:
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="admin-gui,admin,manager-gui,manager"/>
#保存退出
#如果是tomcat7,配置了tomcat用户就可以登录系统了,但是tomcat8中不行,还需要修改 另一个配置文件,否则访问不了,提示403
vim webapps/manager/META‐INF/context.xml
#将<Valve的内容注释掉
<Context antiResourceLocking="false" privileged="true" >
<!‐‐ <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> ‐‐>
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.Cs rfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>
#保存退出即可
#启动tomcat
cd /tmp/apache‐tomcat‐8.5.34/bin/
./startup.sh && tail ‐f ../logs/catalina.out
#打开浏览器进行测试访问
http://192.168.40.133:8080/
点击“Server Status”,输入用户名、密码进行登录,tomcat/tomcat
进去之后即可看到服务的信息。
禁用AJP连接
在服务状态页面中可以看到,默认状态下会启用AJP服务,并且占用8009端口。
什么是AJP呢?
AJP(Apache JServer Protocol)
AJPv13协议是面向包的。WEB服务器和Servlet容器通过TCP连接来交互;为了节省 SOCKET创建的昂贵代价,WEB服务器会尝试维护一个永久TCP连接到servlet容器,并且 在多个请求和响应周期过程会重用连接。