Web服务器配置连接器
1.连接器配置
本节讨论JBoss Web服务器配置文件(server/xxx/deployers/jbossweb.deployer/server.xml)的结构以及如何将连接器作为子元素定义到server配置元素中。如果在一个即将即用配置中打开server.xml文件,可以看到一个与程序清单5-3所示内容相似的配置。
种连接器是HTTP连接器,该连接器被配置为监听8080端口上的常规HTTP浏览。由Protocol特性可以知道它是一个HTTP连接器。protocol特性在未定义时接受HTTP/1.1的一个默认值。port特性配置连接器绑定的端口号。如果希望HTTP浏览进入一个不同的端口,可以更改Prot特性的值。例如,如果打算运行JBoss AS的一个独立实例,可以将prot特性设置为80,允许客户端无须指定一个端口可以访问服务器;浏览器默认把请求发送80端口。
第二种连接器是一个AJP连接器,因为protocol特性设置为AJP/1.3。由port特性可知AJP连接器被绑定在8009端口上。
第三种连接器是一个安全的HTTP连接器——配置的HTTP连接器用来处理HTTPS流量。为使用安全的HTTP,必须有一个秘钥库。因为每个JBoss AS用户必须创建自己的秘钥库,所以连接器被默认注释掉。
2.配置并发性
连接器用来处理多个浏览器的并行连接。有两个可以配置的主要特性:maxThreads和acceptCount(用于HTTP连接器)或者backlog(用于AJP连接器)。
maxThread——处理可以并行运行的线程的数量。因为服务器不能创建更多的线程,所以该参数最终限制了并发用户的数量。如果正在使用所有线程,由单个连接器提供队列。如果未指定,默认为200个线程。
acceptCount或backlog——定义队列的长度。当处理线程的所有线程忙碌时,连接器开始排练请求。HTTP连接器使用acceptCount特性,AJP连接器使用backlog特性。如果队列排满,连接器会拒绝请求。在未指定的情况下,默认对10个请求排队。
如果有很多并发用户,需要确保没有一个并发用户占据太长连接时间以便满足其他请求。下面探讨如何配置连接超时。
3.配置超时
有时,客户端试图访问的资源并不响应或响应速度较慢。我们不希望客户端无限期地独占一个连接线程,因此连接器提供一个ConnectionTimeout特性。可以使用该特性指定连接后等待请求的URL的毫秒数。对于HTTP连接器,默认为60s;对于AJP连接器,默认为0(无穷大)。
4.配置一个代理主机名和端口
如果正在一个代理服务器中运行,可以使Web应用程序认为用户并未使用proxyName特性和proxyPort特性。在代码调用servlet方法request.getServerName()和request.getServerPort()时这些特性覆盖提供给应用程序的值。
推荐阅读:JBoss Web服务器配置