2019独角兽企业重金招聘Python工程师标准>>>

1.安装

exe可执行文件的安装方式:http://jingyan.baidu.com/article/ed15cb1b73b3071be269816d.html

解压缩包的安装方式: win+r --> cmd --> 打开dos界面,进入到Apache\bin目录下执行 httpd.exe -k install -n "apache2.2" 。 执行完成 Apache服务安装完毕。apache2.2 为服务的名称

1.1 查看服务:win+r -->services.msc

1.2 dos中开启和关闭服务

启动服务遇到问题:右击我的电脑-->管理-->事件查看器-->找到Apache Service-->右键-->查看事件的所有实例

由于Apache的docs  log  等路径都的 /Apache/*** ,但是我的服务是放在了自己建立的文件夹下,所以服务启动的时候找不到这些文件。大部分问题是这些。

1.3 服务安装成功,浏览器访问 http://localhost/

显示如上界面,Apache安装成功。

1.负载均衡配置

配置httpd.conf 文件

1.1  去掉注释块

#提供HTTP/1.1的代理/网关功能支持
LoadModule proxy_module modules/mod_proxy.so

#mod_proxy的扩展,提供Apache JServ Protocol支持
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#mod_proxy的扩展,提供负载均衡支持
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#mod_proxy的扩展,提供对处理HTTP CONNECT方法的支持
LoadModule proxy_connect_module modules/mod_proxy_connect.so

#mod_proxy的FTP支持模块
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

# mod_proxy的HTTP支持模块
LoadModule proxy_http_module modules/mod_proxy_http.so

1.2 将虚拟主机的注释去掉,将httpd-vhosts.conf 引入。

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

httpd-vhosts.conf文件添加:

<VirtualHost *:80>ServerAdmin abc@163.comproxyRequests offServerName abc.comServerAlias www.abc.comProxyPass /resource!ProxyPass /req balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=OnProxyPassReverse /req balancer://cluster/ProxySet lbmethod=bytraffic
</VirtualHost>
<proxy balancer://cluster>BalancerMember ajp://12.34.56.78:8011 loadfactor=1 route=tomcat1BalancerMember ajp://12.34.56.78:8012 loadfactor=1 route=tomcat2BalancerMember ajp://12.34.56.78:8013 loadfactor=1 route=tomcat3BalancerMember ajp://12.34.56.78:8014 loadfactor=1 route=tomcat4 status=+H
</proxy>

解释:其中ProxyPass /resource! 表示/resource 开头的请求不会转发给Tomcat,而是作为静态资源在Apache的resource目录下寻找资源文件。而反向代理将所有的/req 请求都转发给名叫cluster的balancer。 而这个balancer有四个Tomcat成员 status=+H 表示热部署。

ProxySet lbmethod=bytraffic 设置负载均衡的策略

lbmethod可能的取值有:  
lbmethod=byrequests 按照请求次数均衡(默认) 
lbmethod=bytraffic 按照流量均衡 
lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)

stickySession=JSESSIONID表示开启粘性Session。意思是如果第一次请求分到了tomcat1,那么这个用户的后续请求,都会分配给tomcat1这个服务。

然后在Apache配置故障转移(nofailover=On)

如果tomcat1服务宕机,那么Apache会将请求提交当其它服务器,由于后台Tomcat服务器做了Session共享(也就是服务器Session复制),所以用户的Session并没有丢失。

2.Tomcat服务集群配置

Apache配置了四台服务的负载均衡,对应的Tomcat服务器也需要四台。以Tomcat6.x为例

2.1 配置Server port 在tomcat-6.x\conf\server.xml文件中找到

<Server port="8005" shutdown="SHUTDOWN">
<!--修改成: -->
<Server port="8006" shutdown="SHUTDOWN">

并将其余3个Tomcat的Server port分别修改成8007,8008,8009。

2.2 配置Connector port 在tomcat-6.x\conf\server.xml文件中找到

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<!--修改成:-->
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<!--并将其余3个Tomcat的port分别修改成8082,8083,8084-->

2.3 配置Apache和Tomcat通讯端口,在tomcat-6.x\conf\server.xml文件中找到

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<!--修改成:-->
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
<!--并将其余3个Tomcat的port分别修改成8012,8013,8014 -->

2.3 是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡,上面的 port="8011" 就是Apache连接Tomcat的端口。

回顾一下httpd.conf配置中的

<proxy balancer://cluster>BalancerMember ajp://12.34.56.78:8011 loadfactor=1 route=tomcat1BalancerMember ajp://12.34.56.78:8012 loadfactor=1 route=tomcat2BalancerMember ajp://12.34.56.78:8013 loadfactor=1 route=tomcat3BalancerMember ajp://12.34.56.78:8014 loadfactor=1 route=tomcat4
</proxy>

Tomcat中的端口要和“ajp://12.34.56.78:XXXX”后面端口一致。

2.4 配置Engine ,在tomcat-6.x\conf\server.xml文件中找到

<Engine name="Catalina" defaultHost="localhost">,
<!--修改成:-->
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1">
<!--并将其余3个Tomcat的jvmRoute分别修改成:-->
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2">
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat3">
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat4">

回顾一下httpd.conf配置中的

<proxy balancer://cluster>BalancerMember ajp://12.34.56.78:8011 loadfactor=1 route=tomcat1BalancerMember ajp://12.34.56.78:8012 loadfactor=1 route=tomcat2BalancerMember ajp://12.34.56.78:8013 loadfactor=1 route=tomcat3BalancerMember ajp://12.34.56.78:8014 loadfactor=1 route=tomcat4
</proxy>

Tomcat中的jvmRoute="tomcatx"要和“route=tomcatx”中的命名一致。

2.5 配置Cluster ,在tomcat-6.x\conf\server.xml文件中找到

<!--在注释行的下面添加:-->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"  channelSendOptions="6"><Manager className="org.apache.catalina.ha.session.BackupManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"mapSendOptions="6"/><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"/><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="5001"selectorTimeout="100"maxThreads="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"/><Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/></Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=".*/.gif;.*/.js;.*/.jpg;.*/.png;.*/.htm;.*/.html;.*/.css;.*/.txt;"/><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>

其余3个Tomcat都要做相同的配置,注意每个Tomcat之间的差别是<Receiver>标签下面的port值不一样,这里是5001,其余3个Tomcat中分别是5002,5003,5004

3. Tomcat集群要解决的问题

3.1 Session共享

1. 所有session中的对象可以序列化,实现 java.io.Serializable接口。

2. 确保你部署文件中的web.xml有<distributable/>元素(其父元素为</web-app>),或者设置你的<Context distributable="true" />。

3. 当使用多台机器时,要保证不同机器时间的同步。

4. 确保你的loadbalancer是sticky session 模式。

转载于:https://my.oschina.net/u/2433960/blog/900653

windows apache 负载均衡配置 Tomcat集群配置相关推荐

  1. nginx负载均衡,服务器集群配置,服务器挂机自动切换

    1. 首先打开nginx/conf/nginx.conf修改如下配置 http {#在http中添加下面内容#隐藏 Nginx 的版本号,提高安全性. server_tokens off;#指令指定允 ...

  2. Nginx+Memcached+Tomcat集群配置实践(Sticky Session)

    准备工作 创建一个简单的web应用,名为session.其中有两个页面,分别如下所示: 页面login.jsp [html] view plaincopy <%@ page language=& ...

  3. Nginx以及通过Nginx实现tomcat集群配置与负载均衡

    Nginx简介 启动,停止,和重新加载配置文件命令 Nginx功能 正向代理和反向代理的区别 反向代理 负载均衡 1.RR(默认) 2.权重 3.ip_hash 4.fair(第三方) 5.url_h ...

  4. tomcat7+nginx+memcached 配置tomcat 集群以及负载均衡

    首先:配置tomcat集群 nginx+ tomcat7 1 安装jdk (可以选择6或者7都可以) 此处不用多说. 2 下载nginx-1.2.5 (下载附件) 3 下载 memcached(下载附 ...

  5. window xp Apache与Tomcat集群配置--转载

    转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...

  6. Apache + Tomcat集群配置详解(1)

    Apache + Tomcat集群配置详解(1) 一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl ...

  7. windows下tomcat集群配置(两种方法)

    两种方法只是在配置上不同原理一样,因为apache2.X后其自身集成了mod_jk功能,相对于1.3版本,不需要再进行繁琐的worker.properties配置,配置过程大幅简化. 一.软件需求 操 ...

  8. linux系统下对网站实施负载均衡+高可用集群需要考虑的几点

    随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧.在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案. 那么如何实 ...

  9. 「mysql优化专题」高可用性、负载均衡的mysql集群解决方案(12)

    不可避免的是,使用MySQL时随着时间的增长,用户量以及数据量的逐渐增加,访问量更是剧增,最终将会使MySQL达到某个瓶颈,那么MySQL的性能将会大大降低.怎么办?前面已经讲过十一篇优化方案,接下来 ...

最新文章

  1. Gym 101845(2018 ACM-ICPC, Universidad Nacional de Colombia Programming Contest)
  2. 机器学习的前沿发展与应用分享
  3. 安装python sklearn经验总结
  4. HTML5的Web存储
  5. 省A类竞赛二等奖--村先游项目VUE前端重构
  6. mongodb默认的用户名密码_Linux如何安装、运行MongoDB教程
  7. Java实现简单图书管理系统
  8. java armeabi_Android中的armeabi、armeabi-v7a、arm64-v8a及x86的详解
  9. Visio Premium 2010密钥+破解激活方法
  10. 获取115网盘文件列表
  11. STM32学习笔记——HC05
  12. f(x)的泰勒(Taylor)展开式
  13. c语言编程三次方程,c语言求三次方程的根程序设计
  14. dnf服务器维护2018,2018年更新dnf游戏登陆不上 | 手游网游页游攻略大全
  15. Linux已挂载的硬盘无法访问
  16. symbian s60 删除模拟器上的程序
  17. 银河麒麟禁止抓屏printScreen
  18. linux下中文输入法的安装(解决菜单栏输入法图标消失问题)
  19. 【wpf】Page的Unloaded事件
  20. pkg-config --libs --cflags

热门文章

  1. 递归 人理解循环 神理解递归
  2. float/文档流/清除浮动
  3. Android MonkeyRunner
  4. IK Analyzer 中文分词器
  5. 离开,是一个新的开始
  6. 数据结构上机实践第四周项目2 - 建设“单链表”算法库
  7. Vscode中HTML与CSS代码的快速写法
  8. 数据结构笔记(五)-- 循环链表的实现
  9. 图像处理程序,在状态栏显示图像尺寸
  10. php反向解析域名,域名系统 – Cloudflare,反向DNS和php邮件,最终在垃圾邮件文件夹中...