目录
TOMCAT服务器解析
Server:一个server代表整个容器.Tomcat提供了一个默认的org.apache.catalina接口的实现
Service:一个Service是一个中间件,存在在一个Server的内部,将一个或者多个Connectors绑定到一个特定的Engine上.默认的实现已经足够用了.是org.apache.catalina.Service接口的一个实现,一个Service是一个或者多个Connectors的集合,这些个Connectors共享一个容器。
Engine:一个Engine代表一个特定的Service的请求处理的管道.因为一个Service可以有多个Connectors,Engine接收并且处理从这些Connectors过来的所有的请求.并且将结果送回合适的connector并发送给客户端.
Host:一个Host将一个域名和tomcat联系起来.一个Engine可以包含多个hosts,并且一个Host还支持网络别名.
Connector:Tomcat与HTTP服务器集成的原理:Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以及把Tomcat服务 器的响应结果发送给客户。默认情况下,Tomcat在server.xml中配置了两种连接器:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。
Context:一个Context代表一个web应用程序。一个Host可以包含多个contexts。每一个有不同的访问地址。
TOMCAT多应用部署
方式一:无法定义域名
<Context path="webapps" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT" debug="0" reloadable="true"></Context>
<Context path="webapps2" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps2\ROOT" debug="0" reloadable="true"></Context>
方式二:可定义域名
<Host appBase="webapps" name="xok.la"> <Alias>www.xok.la</Alias> <Context path="" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT" debug="0" reloadable="true"></Context> </Host>
<Host appBase="webapps2" name="xok.cc"> <Alias>www.xok.cc</Alias> <Context path="" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps2\ROOT" debug="0" reloadable="true"></Context> </Host>
TOMCAT多端口多应用
<Service name="Catalina">
<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="80" redirectPort="8453" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"/>
<Connector port="8019" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8453"/>
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" name="localhost">
<Context path="" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT" debug="0" reloadable="true"></Context>
</Host>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
</Engine>
</Service>
<Service name="Catalina2">
<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="90" redirectPort="9443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"/>
<Connector port="9009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="9443"/>
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" name="localhost">
<Context path="" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps2\ROOT" debug="0" reloadable="true"></Context>
</Host>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
</Engine>
</Service>
Tomcat用户管理
修改$tomcat_home/conf/tomcat-user.xml替换为
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> <user username="admin" password="1234qwer" roles="manager"/>
</tomcat-users>
浙公网安备 33010602011771号