免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2119 | 回复: 0
打印 上一主题 下一主题

apache+tomcat负载均衡 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-27 17:28 |只看该作者 |倒序浏览
apache+tomcat负载均衡






3台服务器centos5.3  32bit
192.168.1.244(apache)  192.168.1.242(tomcat)  192.168.1.247(tomcat),每台tomcat分别安装建立2个普通用户每个用户跑一个tomcat实例。
安装环境说明:
apache服务器这里安装了 LAMP+tomcat+jdk+tomcat-connectors-1.2.30-src.tar.gz(native)
tomcat服务器只需要安装jdk和tomcat
  1. yum -y install httpd httpd-devel php mysql mysql-server php-mysql zlib gd freetype libpng jpeg freetype-devel libpng-devel php-mysql mysql-php php-
  2. pdo openssl gcc glib  auto make mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel
  3. libdbi-dbd-mysql mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc  mysql-connector-odbc mysql-devel libdbi-
  4. dbd-mysql
  5. 再安装jdk-6u22-linux-i586.bin
  6. mkdir /usr/local/java
  7. ./jdk-6u22-linux-i586.bin
  8. 配置环境:
  9. vi /etc/profile
  10. JAVA_HOME=/usr/local/java/jdk1.6.0_22
  11. JRE_HOME=$JAVA_HOME/jre
  12. PATH=$JAVA_HOME/bin:JRE_HOME/bin:$PATH
  13. CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  14. export JAVA_HOME JRE_HOME PATH CLASSPATH
  15. 保存退出
  16. 再source  /etc/profile  使环境配置生效。
  17. [root@localhost ~]# java -version
  18. java version "1.6.0_22"
  19. Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
  20. Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
  21. 开始配置apache
  22. 编辑httpd.conf:
  23. LoadModule jk_module modules/mod_jk.so
  24. JkWorkersFile conf/workers.properties
  25. JkLogFile logs/mod_jk.log
  26. # Set the jk log level [debug/error/info]
  27. JkLogLevel error
  28. # Select the log format
  29. JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
  30. # JkOptions indicate to send SSL KEY SIZE,
  31. #JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
  32. #JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
  33. JkOptions +ForwardKeySize +ForwardURIEscaped -ForwardDirectories
  34. #JkOptions +ForwardKeySize +ForwardURICompat +ForwardURIEscaped +ForwardDirectories +ForwardLocalAddress
  35. # JkRequestLogFormat set the request format
  36. JkRequestLogFormat "%w %V %T"
  37. DirectoryIndex index.jsp index.php index.html index.html.var
  38. AddType application/x-httpd-php .php

  39. [root@localhost conf]# pwd
  40. /etc/httpd/conf
  41. [root@localhost conf]# cat workers.properties
  42. worker.list=loadbalancer
  43. # Define the first node...
  44. #####1#####
  45. worker.tomcat1.port=8002
  46. worker.tomcat1.host=192.168.1.242
  47. worker.tomcat1.type=ajp13
  48. worker.tomcat1.lbfactor=1
  49. worker.tomcat1.redirect=tomcat1
  50. worker.tomcat1.local_worker=1
  51. worker.tomcat1.cachesize=100
  52. #####2######
  53. worker.tomcat2.port=7009
  54. worker.tomcat2.host=192.168.1.242
  55. worker.tomcat2.type=ajp13
  56. worker.tomcat2.lbfactor=1
  57. worker.tomcat2.redirect=tomcat2
  58. worker.tomcat2.local_worker=1
  59. worker.tomcat2.cachesize=100
  60. #####3#######
  61. worker.tomcat3.port=8002
  62. worker.tomcat3.host=192.168.1.247
  63. worker.tomcat3.type=ajp13
  64. worker.tomcat3.lbfactor=1
  65. worker.tomcat3.redirect=tomcat3
  66. worker.tomcat3.local_worker=1
  67. worker.tomcat3.cachesize=100
  68. ######4###########
  69. worker.tomcat4.port=7009
  70. worker.tomcat4.host=192.168.1.247
  71. worker.tomcat4.type=ajp13
  72. worker.tomcat4.lbfactor=1
  73. worker.tomcat4.redirect=tomcat4
  74. worker.tomcat4.local_worker=1
  75. worker.tomcat4.cachesize=100
  76. # Now we define the load-balancing behaviour
  77. worker.loadbalancer.type=lb
  78. worker.loadbalancer.balance_workers=tomcat1,tomcat2,tomcat3,tomcat4
  79. worker.loadbalancer.sticky_session=1
  80. [root@localhost conf]#
  81. [root@localhost conf]# ls
  82. httpd.conf  magic  workers.properties
  83. [root@localhost conf]# cd ..
  84. [root@localhost httpd]# cd conf.d/
  85. [root@localhost conf.d]# ls
  86. auth_mysql.conf    jk_mount.conf    perl.conf  proxy_ajp.conf  ssl.conf
  87. httpd-vhosts.conf  jk_unmount.conf  php.conf   README          welcome.conf
  88. [root@localhost conf.d]# cat jk_mount.conf
  89. JkMount /WEB-INF/* loadbalancer
  90. JkMount /*.jsp loadbalancer
  91. [root@localhost conf.d]# cat jk_unmount.conf
  92. JkUnMount /images/* loadbalancer  
  93. JkUnMount /css/* loadbalancer  
  94. JkUnMount /js/* loadbalancer  
  95. JkUnMount /fckeditor/* loadbalancer
  96. JkUnMount /asweb/* loadbalancer
  97. JkUnMount /*.cgi loadbalancer
  98. JkUnMount /*.html loadbalancer
  99. [root@localhost conf.d]# cat proxy_ajp.conf
  100. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  101. #
  102. # When loaded, the mod_proxy_ajp module adds support for
  103. # proxying to an AJP/1.3 backend server (such as Tomcat).
  104. # To proxy to an AJP backend, use the "ajp://" URI scheme;
  105. # Tomcat is configured to listen on port 8009 for AJP requests
  106. # by default.
  107. #
  108. #
  109. # Uncomment the following lines to serve the ROOT webapp
  110. # under the /tomcat/ location, and the jsp-examples webapp
  111. # under the /examples/ location.
  112. #
  113. #ProxyPass /tomcat/ ajp://localhost:8009/
  114. #ProxyPass /examples/ ajp://localhost:8009/jsp-examples/

  115. [root@localhost conf.d]# cat httpd-vhosts.conf
  116. <VirtualHost *:80>
  117.     DocumentRoot /home/web1
  118.     ServerName  www.dong.com
  119. Include conf.d/jk_mount.conf
  120. Include conf.d/jk_unmount.conf
  121. <Directory "/home/web1">   
  122.       Options -Indexes FollowSymLinks
  123.       AllowOverride All
  124.       Order allow,deny
  125.       Allow from all
  126. </Directory>
  127. </VirtualHost>
  128. [root@localhost conf.d]#
  129. apache
复制代码
上的配置完成了。
下面就是tomcat服务器上的配置了。
开始tomcat的配置
jdk的安装配置上面已经讲过了。
下载apache-tomcat-7.0.16 分别复制2份,分别2个普通用户登录运行起来。
监听端口不同。
默认的配置即可使用。
也可以在server.xml里加
  1. <Host name="www.dong.com" debug="0" appBase="webapps/ROOT"
  2.        unpackWARs="true" autoDeploy="true">
  3.         <Logger className="org.apache.catalina.logger.FileLogger"
  4.                  directory="logs"  prefix="localhost_log." suffix=".txt"
  5.         timestamp="true"/>
  6.            <Context path="" docBase="/home/java1/web" debug="0"
  7.                            reloadable="true" crossContext="true">     
  8.            </Context>
  9.       </Host>
复制代码
详情见附件。
apache处理除了jsp之外的类型文件,jsp的类型文件交给后端的tomcat来处理,轮询机制。

还需要在程序的web.xml里面</web-app>前面加入以下这句话
<distributable/>
session同步到这里设置完毕
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP