
# TOMCAT常用配置
#### 修改端口
TOMCAT安装时默认的端口8080，TOMCAT安装版可以在安装中修改。对于安装完成后和解压版TOMCAT如何修改呢？
找到TOMCAT安装目录下的\\conf\\server.xml文件，用记事本打开，搜索安装时设置的端口值或默认的值8080，将其替换为要设置的端口值。
在修改端口时要注意，先要停止TOMCAT服务，再来修改。修改完成后，重启TOMCAT服务，即可通过修改后的端中访问WEB应用。
#### JVM设置
TOMCAT默认内存最大内存为128M，在大用户量情况下容易出现内存不够的情况，所以需要进行调整。
修改内存大小一般在启动文件startup.bat或startup.sh中设置，设置内存不能低于如下数值：
```
Set JAVA_OPTS= -Xmx2048m -Xms2048m -XX:MaxMetaspaceSize=512m（Windows）
JAVA_OPTS=”-Xmx2048m -Xms2048m -XX: MaxMetaspaceSize =512m”（Linux）
```
内存调整需根据服务器内存大小、操作系统版本、WEB服务器版本、JDK版本和实际使用情况进行调整，在64bit环境下分配8G内存。
注意：某些JDK版本或操作系统限制最大堆内存，不支持分配超过1.5G的内存，如果有充足的内存，可以多建立几个节点集群成员，逐一对每个成员做相应的修改。
#### 线程调整
表1线程调整 
| 属性名             | 描述                                                   |
|:---|:---|
| maxThreads      | Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。          |
| acceptCount     | 指定当所有可以使用的处理请求的线程数都被使用时，可以放到处理队列中的请求数，超过这个数的请求将不予处理。 |
| minSpareThreads | Tomcat初始化时创建的线程数。                                    |
| maxSpareThreads | 一旦创建的线程超过这个值，Tomcat就会关闭不再需要的socket线程。                |
   
上述参数在conf/ server.xml中进行设置，TOMCAT上述默认值如下：
```
maxThreads：150
acceptCount：100
minSpareThreads：25
maxSpareThreads：75
```
在一般情况下够用，如果同时并发用户数量很大，需要调整maxThreads参数，调整原则为每秒用户请求数\*请求操作执行时间，比如每秒有100个请求，每个请求执行时间为1秒，maxThreads设置为100即可。同时要适当调整maxSpareThreads参数，不要关闭socket线程后又马上生成的操作。
#### Tomcat修改应用上下文根为空
因为tomcat控制台http://IP:8080/默认上下文根为空，所以在修改应用的上下文根为空时需要修改tomcat控制台上下文根不为空。
进入tomcat\\ conf路径下，修改server.xml文件，
图1修改   
![](https://support.huaweicloud.com/edms-mnft/zh-cn_image_0000001680239480.png)
在文件中找到Host name="localhost代码段，在该代码下增加如下代码。
```
<Context path="/ROOT" docBase="E:\apache-tomcat-7.0.70\webapps\ROOT" reloadable="true"/>
<Context path="" docBase="E:\apache-tomcat-7.0.70\webapps\ABI" reloadable="true"/>
```
图2代码   
![](https://support.huaweicloud.com/edms-mnft/zh-cn_image_0000001680079736.png)
上面红色字体为修改tomcat控制台上下文根。蓝色字体为修改应用上下文根。上文参数解释：
Context path= 后面跟上下文根（应用的上下文根为""）。
docBase= 后面跟应用路径（ROOT为控制台，ABI为解压后的war包名）
根据上面的讲解自己修改路径和上下文根，以上可做参考。
配置完成后保存，重启tomcat，访问http://IP:8080/ROOT控制台及http://IP:8080/应用，如果发现依然访问控制台，请重启tomcat。
