Apache-tomcat-8.5.8下载、安装、配置、优化、注册服务
- 下载apache-tomcat-8.5.8 地址:https://download.csdn.net/download/april_moon/10834900
- 安装目录:C:\Program Files (x86)\service\apache-tomcat-8.5.8
- 配置环境变量:
- 新建 CATALINA_BASE,变量值:C:\Program Files (x86)\service\apache-tomcat-8.5.8
- 新建 CATALINA_HOME,变量值:C:\Program Files (x86)\service\apache-tomcat-8.5.8
- 编辑 PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;
- 测试:
- 启动TOMCAT服务:C:\Program Files (x86)\service\apache-tomcat-8.5.8\bin\startup.bat
- 浏览器地址栏中输入http://localhost:8080回车,出现TOMCAT欢迎界面,OK!
优化:
- 优化--连接池配置
打开配置文件:apache-tomcat-8.5.32/conf/server.xml
配置
<Executor
name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="500"
minSpareThreads="100"
prestartminSpareThreads = "true"
maxQueueSize = "100"
/>
参数解释
maxThreads,最大并发数,默认设置 200,建议在 500 ~ 800,根据硬件设施和业务来判断
minSpareThreads,Tomcat 初始化时创建的线程数,默认设置 25
prestartminSpareThreads,在 Tomcat 初始化的时候就初始化 minSpareThreads 的参数值,如果不等于 true,minSpareThreads 的值就没啥效果了
maxQueueSize,最大的等待队列数,超过则拒绝请求
- 优化--连接参数
打开配置文件:apache-tomcat-8.5.32/conf/server.xml
将默认的Connector修改为下面配置:
<Connector
executor="tomcatThreadPool"
port="8080"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000"
maxConnections="10000"
redirectPort="8443"
enableLookups="false"
acceptCount="100"
maxPostSize="10485760"
compression="on"
disableUploadTimeout="true"
compressionMinSize="2048"
acceptorThreadCount="2"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
URIEncoding="utf-8"
/>
参数解释
protocol,Tomcat 8 设置 nio2 更好:org.apache.coyote.http11.Http11Nio2Protocol
protocol,Tomcat 6、7 设置 nio 更好:org.apache.coyote.http11.Http11NioProtocol
enableLookups,禁用DNS查询
acceptCount,指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认设置 100
maxPostSize,以 FORM URL 参数方式的 POST 提交方式,限制提交最大的大小,默认是 2097152(2兆),它使用的单位是字节。10485760 为 10M。如果要禁用限制,则可以设置为 -1
acceptorThreadCount,用于接收连接的线程的数量,默认值是1。一般这个指需要改动的时候是因为该服务器是一个多核CPU,如果是多核 CPU 一般配置为 2.
- 端口配置问题
该问题在阿里云未提供网络安全组之前,需要手动开放端口
阿里云提供网络安全组后,在阿里云控制台--网络安全组内设置即可
Tomcat控制台
编辑apache-tomcat-8.5.32/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-gui,admin,manager-gui,manager"/>
关闭地址限制
修改tomcat管理功能配置文件(<tomcat>/webapps/manager/META-INF/context.xml),注释掉地址限制:
<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" />
-->
</Context>
- 注册服务
进入到bin文件夹。按下shift+右击打开命令窗口,输入service.bat install service_name就可以安装服务,service_name就是给服务起的名字,可以自己命名,这边的名字是tomcat8
D:\java\apache-tomcat-8.5.8\bin>service.bat install tomcat8
Installing the service 'tomcat8' ...
Using CATALINA_HOME: "D:\java\apache-tomcat-8.5.8"
Using CATALINA_BASE: "D:\java\apache-tomcat-8.5.8"
Using JAVA_HOME: "C:\Program Files\Java\jdk1.8.0_151"
Using JRE_HOME: "C:\Program Files\Java\jdk1.8.0_151\jre"
Using JVM: "C:\Program Files\Java\jdk1.8.0_151\jre\bin\server\jvm.dll"
The service 'tomcat8' has been installed.
此时在服务中就能看到该服务
属性设置成自动就行了