|
最近对负载均衡进行搭建具体方法如下:
- haproxy 修改部分(haproxy-cfg.cfg)
global
daemon
maxconn 4500
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 180000ms
stats enable
stats uri /stats
stats auth admin:age!^*
frontend http-in
bind *:<span style="color: #ff0000;"><strong>9090</strong></span>
default_backend dynamic_servers
backend dynamic_servers
mode http
option httpclose
option forwardfor header X-Forwarded-For
appsession JSESSIONID len 52 timeout 30m
balance roundrobin
server server_9091 191.29.70.6:9091 maxconn 250
server server_9092 191.29.70.6:9092 maxconn 250
server server_9093 191.29.70.6:9093 maxconn 250
server server_9094 191.29.70.6:9094 maxconn 250
server server_9095 191.29.70.6:9095 maxconn 250 使用haproxy做端口转发,只需要修改tomcat的 到不同的端口(保证端口不被占用)
在haproxy映射即可。
启动方法 ./haproxy -f haproxy-cfg.cfg
haproxy 有编译好的版本,也可以自行编译参考方法
http://wenku.baidu.com/view/0a7a28154431b90d6c85c760.html
tomcat示例
<!-- Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" at this level.
Documentation at /docs/config/server.html
-->
<Server <strong><span style="color: #ff0000;">port="9005"</span></strong> shutdown="SHUTDOWN">
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<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>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector <span style="color: #ff0000;"><strong>port="9091"</strong></span> protocol="HTTP/1.1"
connectionTimeout="100000"
redirectPort="8443" URIEncoding="gbk"/>
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
.....
|
|