linux apache 负载均衡配置
2014-11-10 16:56
141 查看
1、环境
redhat6(5)
apache2.2.*
tomcat6
2、安装apache
A、首先卸载红帽自带httpd服务
a、执行命令查询是否安装httpd
rpm -qa|grep httpd
b、执行命令删除已安装的包
rpm -e 安装包名称
如果有依赖,使用--nodeps参数 rpm -e 安装包名称 --nodeps
c、删除/etc/httpd目录,该目录有自带配置文件,会有影响
B、编译apache源文件,使用的插件(或者说模块)有:proxy、proxy-ajp、proxy-connect、proxy-http、proxy-ftp、proxy-balancer
编译步骤:
a、解压缩文件到目录 unzip file.zip
b、设置权限为777 chmod -R 777 fileAddr
c、进入目录,首先执行配置命令:
./configure --prefix=/usr/local/httpd --enable-so --enable-mods-shared='proxy proxy-connect proxy-ajp proxy-http proxy-ftp proxy-balancer'
说明:prexif为执行安装时的安装目录;
enable是启用哪些模块等;proxy*等是指定加载启用的模块,也可以使用参数 most(all)如:--enable-mod-shared=most
如没有特殊情况,一般可能会出现缺少依赖编译环境的错误,比如缺少gcc包,可以安装后继续编译(最好使用yum进行安装 yum install gcc)
C、执行make
D、如果没有错误,执行make install,进行安装,如无错误(exit code 0)安装成功。
E、启动服务 httpd\bin 下执行 ./httpd -k start
F、输入地址:http:\\ip,如没问题将会出现 :It works!
服务配置完毕
3、安装配置tomcat
*以下配置为2台机器
A、解压缩tomcat压缩文件到目录,设置权限(简便起见,可设置777)
B、修改server.xml配置文件
a、修改端口
如无系统占用,可以使用默认http、ajp端口,否则需要进行修改(尤其是单台机器配置多个节点时)
b、修改cluster、engine配置
engine使用注释的配置即可,修改jvmRoute,配置为你想要的名称(同一集群不能重复)
cluster配置如下
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
<!-- 同一集群使用同一个广播地址和端口 -->
address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<!-- 每个节点必须不同,ajp以此进行通信 port="4000" -->
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4001"
autoBind="100"
selectorTimeout="5000"
axThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<!-- 此filter可进行配置 -->
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
完整server.xml配置文件内容如下:
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- 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 port="8005" 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 port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK"/>
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" 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" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host).
Documentation at /docs/config/engine.html -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- 每个节点对应配置文件 jvmRoute="tomcat1" -->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1" >
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<!-- 每个节点必须不同 port="4000" -->
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4001"
autoBind="100"
selectorTimeout="5000"
axThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
<!-- The request dumper valve dumps useful debugging information about
the request and response data received and sent by Tomcat.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
</Host>
</Engine>
</Service>
</Server>
注:
启动失败可能原因:
1、端口号占用
修改端口号
2、没有主机名
vi /etc/networks
在里面加 hostname=ffzhang
vi /etc/hosts
在第一行 第二行 中都加 ffzhang
重启
启动成功后仅自己可以访问,则是因为防火墙没有关闭
执行: service iptables stop 即可
4、apache负载均衡设置
A、httpd.conf
a、 listen
此参数可以直接设置监听端口,也可以使用IP:PORT的形式,如果服务器仅有一个ip,仅设置监听端口即可,如果多个ip,可以
使用另外一种方式
此参数可以配置多个,就是说,可以监听多个地址,监听多个端口(对应单服务器绑定多个ip、设置多个集群的情况下使用)
系统默认80端口
b、ServerName
可设置域名,或者机器名称,如有没有可以设置为ip
c、ServerAdmin 如有系统问题,发送邮箱
d、虚拟目录设置
两种方式:一是单独文件设置(有点麻烦),二是在httpd.conf文件结尾添加(如仅配置一个集群,此方式较好)
*按第二种配置
在httpd.conf结尾添加以下配置
NameVirtualHost 10.150.0.158:80 #虚拟主机,以此判断集群设置
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 10.150.0.158:80> #对应上面的虚拟主机
ServerName 10.150.0.158 #主机ip
ServerAlias 10.150.0.158 #域名或者机器名
#集群配置
ProxyPass / balancer://myclus/ stickysession=jsessionid nofailover=On
#ProxyPass 满足条件的通过
#balancer 集群设置
#myclus 集群名称,以/结尾
#stickysession=jsessionid nofailover=On
#反向代理的集群,即上面配置的内容
ProxyPassReverse / balancer://myclus/
#日志
ErrorLog "logs/lbtest-error.log"
CustomLog "logs/lbtest-access.log" common
</VirtualHost>
#对应以上虚拟主机设置
ProxyRequests Off #关闭正向代理(启用反向代理
#集群节点设置
<proxy balancer://myclus>
#此端口为ajp设置端口,非http端口
#loadfactor 分配权值,按访问次数比例分配
#route tomcat中engine节点设置的名称
BalancerMember ajp://10.150.0.126:8009/ loadfactor=1 route=jvm1
BalancerMember ajp://10.150.0.125:8009/ loadfactor=2 route=jvm2
</proxy>
##
B、httpd-vhost.conf
上述采用第一种配置时,需配置此项,配置内容同上;需要将httpd.conf中关于httpd-xhost注释去掉即可,ProxyRequests一段需要添加到文件结尾
5、测试
第一次发,还求大神指导。
redhat6(5)
apache2.2.*
tomcat6
2、安装apache
A、首先卸载红帽自带httpd服务
a、执行命令查询是否安装httpd
rpm -qa|grep httpd
b、执行命令删除已安装的包
rpm -e 安装包名称
如果有依赖,使用--nodeps参数 rpm -e 安装包名称 --nodeps
c、删除/etc/httpd目录,该目录有自带配置文件,会有影响
B、编译apache源文件,使用的插件(或者说模块)有:proxy、proxy-ajp、proxy-connect、proxy-http、proxy-ftp、proxy-balancer
编译步骤:
a、解压缩文件到目录 unzip file.zip
b、设置权限为777 chmod -R 777 fileAddr
c、进入目录,首先执行配置命令:
./configure --prefix=/usr/local/httpd --enable-so --enable-mods-shared='proxy proxy-connect proxy-ajp proxy-http proxy-ftp proxy-balancer'
说明:prexif为执行安装时的安装目录;
enable是启用哪些模块等;proxy*等是指定加载启用的模块,也可以使用参数 most(all)如:--enable-mod-shared=most
如没有特殊情况,一般可能会出现缺少依赖编译环境的错误,比如缺少gcc包,可以安装后继续编译(最好使用yum进行安装 yum install gcc)
C、执行make
D、如果没有错误,执行make install,进行安装,如无错误(exit code 0)安装成功。
E、启动服务 httpd\bin 下执行 ./httpd -k start
F、输入地址:http:\\ip,如没问题将会出现 :It works!
服务配置完毕
3、安装配置tomcat
*以下配置为2台机器
A、解压缩tomcat压缩文件到目录,设置权限(简便起见,可设置777)
B、修改server.xml配置文件
a、修改端口
如无系统占用,可以使用默认http、ajp端口,否则需要进行修改(尤其是单台机器配置多个节点时)
b、修改cluster、engine配置
engine使用注释的配置即可,修改jvmRoute,配置为你想要的名称(同一集群不能重复)
cluster配置如下
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
<!-- 同一集群使用同一个广播地址和端口 -->
address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<!-- 每个节点必须不同,ajp以此进行通信 port="4000" -->
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4001"
autoBind="100"
selectorTimeout="5000"
axThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<!-- 此filter可进行配置 -->
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
完整server.xml配置文件内容如下:
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- 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 port="8005" 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 port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK"/>
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" 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" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host).
Documentation at /docs/config/engine.html -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<!-- 每个节点对应配置文件 jvmRoute="tomcat1" -->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1" >
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<!-- 每个节点必须不同 port="4000" -->
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4001"
autoBind="100"
selectorTimeout="5000"
axThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
<!-- The request dumper valve dumps useful debugging information about
the request and response data received and sent by Tomcat.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
</Host>
</Engine>
</Service>
</Server>
注:
启动失败可能原因:
1、端口号占用
修改端口号
2、没有主机名
vi /etc/networks
在里面加 hostname=ffzhang
vi /etc/hosts
在第一行 第二行 中都加 ffzhang
重启
启动成功后仅自己可以访问,则是因为防火墙没有关闭
执行: service iptables stop 即可
4、apache负载均衡设置
A、httpd.conf
a、 listen
此参数可以直接设置监听端口,也可以使用IP:PORT的形式,如果服务器仅有一个ip,仅设置监听端口即可,如果多个ip,可以
使用另外一种方式
此参数可以配置多个,就是说,可以监听多个地址,监听多个端口(对应单服务器绑定多个ip、设置多个集群的情况下使用)
系统默认80端口
b、ServerName
可设置域名,或者机器名称,如有没有可以设置为ip
c、ServerAdmin 如有系统问题,发送邮箱
d、虚拟目录设置
两种方式:一是单独文件设置(有点麻烦),二是在httpd.conf文件结尾添加(如仅配置一个集群,此方式较好)
*按第二种配置
在httpd.conf结尾添加以下配置
NameVirtualHost 10.150.0.158:80 #虚拟主机,以此判断集群设置
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 10.150.0.158:80> #对应上面的虚拟主机
ServerName 10.150.0.158 #主机ip
ServerAlias 10.150.0.158 #域名或者机器名
#集群配置
ProxyPass / balancer://myclus/ stickysession=jsessionid nofailover=On
#ProxyPass 满足条件的通过
#balancer 集群设置
#myclus 集群名称,以/结尾
#stickysession=jsessionid nofailover=On
#反向代理的集群,即上面配置的内容
ProxyPassReverse / balancer://myclus/
#日志
ErrorLog "logs/lbtest-error.log"
CustomLog "logs/lbtest-access.log" common
</VirtualHost>
#对应以上虚拟主机设置
ProxyRequests Off #关闭正向代理(启用反向代理
#集群节点设置
<proxy balancer://myclus>
#此端口为ajp设置端口,非http端口
#loadfactor 分配权值,按访问次数比例分配
#route tomcat中engine节点设置的名称
BalancerMember ajp://10.150.0.126:8009/ loadfactor=1 route=jvm1
BalancerMember ajp://10.150.0.125:8009/ loadfactor=2 route=jvm2
</proxy>
##
B、httpd-vhost.conf
上述采用第一种配置时,需配置此项,配置内容同上;需要将httpd.conf中关于httpd-xhost注释去掉即可,ProxyRequests一段需要添加到文件结尾
5、测试
第一次发,还求大神指导。
相关文章推荐
- Linux中Apache+Tomcat+JK实现负载均衡配置
- 第一季:Tomcat 8迷情】 第7集 apache http server+tomcat+mod_jk在linux上的负载均衡配置
- Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)
- Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)
- Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)
- NC_UAP中间件集群+Apache负载均衡 Linux64位安装配置
- linux下apache负载均衡与jboss集群配置
- Linux下Apache与Tomcat的完全分布式集群配置(负载均衡
- Linux下配置apache
- Linux+Apache+Mysql+PHP典型配置
- Linux下Apache 2.2, MySQL 5.0和PHP 5.0的安装与配置
- Linux下PHP+MYSQL+APACHE配置过程 (摘)第1/2页
- Linux下PHP+MYSQL+APACHE配置过程 (摘)第1/2页
- Linux+Apache+PHP+MySQL+SSL配置详解
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
- [学习Linux]Linux+Apache+Mysql+PHP典型配置
- wxzh001,进来看关于APACHE+PHP+MYSQL+SSL的LINUX下安装配置(转自奥索)
- LINUX下的apache+php+mysql的配置
- Linux+Apache+Mysql+PHP典型配置