配置账号和密码,通过gui页面管理tomcat,或者使用maven自动打包部署,都需要配置 /conf/tomcat-users.xml 文件 , 增加类似如下代码:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>
/conf/server.xml 文件一般设置
<?xml version='1.0' encoding='utf-8'?>
<Server port="8089" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Executor setter 线程池设置-->
<!--
maxThreads:最大线程数
minSpareThreads:线程空闲最少数
maxIdleTime:线程空闲最大时间(毫秒)
maxSpareThreads:线程空闲最大数
acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数
-->
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="3000"
minSpareThreads="100"
maxIdleTime="60000"
maxSpareThreads="500"
acceptCount="100"
/>
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<!-- port:1315 URIEncoding="UTF-8" -->
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"
executor="tomcatThreadPool"
disableUploadTimeout="true" enableLookups="false" compression="on" compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
/>
<Connector port="54329" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- 不带项目名访问<Context path="" reloadable="true" docBase="demo"></Context> -->
</Host>
<!-- directory="d:/data/logs" -->
<!-- directory="/data/logs" -->
<!-- directory="data/logs" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="data/logs/"
prefix="localhost_access_log." suffix=".log"
pattern="%a`%A`%b`%H`%m`%p`%S`%U`%q`%r`%s`%D`%t" resolveHosts="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="d:/data/logs/" prefix="access_log." suffix=".log" pattern="%a`%A`%b`%H`%m`%p`%S`%U`%q`%r`%s`%D`%t" resolveHosts="false"/>
</Engine>
</Service>
</Server>
如果一个服务器配置多个tomcat,需要至少修改三个地方,保证tomcat间不会相互影响
NO1:
<Server port="8089" shutdown="SHUTDOWN">
NO2:<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000"
NO3:<Connector port="54329" protocol="AJP/1.3" redirectPort="8443" />
JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m"