设为首页 收藏本站
查看: 637|回复: 0

[经验分享] Apache负载均衡请求至Tomcat

[复制链接]

尚未签到

发表于 2018-11-23 12:37:56 | 显示全部楼层 |阅读模式
实验环境:


系统 :centos6.4

Apache   172.16.4.7   
Tomcat1   172.16.4.5
Tomcat2   172.16.4.11


一、在后端服务器上安装 tomcat、jdk



1、安装jdk
#rmp -ivh jdk-7u9-linux-x64.rpm
# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
#. /etc/profile.d/java.sh
# java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)



2、安装部署tomcat
# tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv apache-tomcat-7.0.42 tomcat
# vim /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
#. /etc/profile.d/tomcat.sh




3、为Tomcat提供SysV脚本
# vim /etc/init.d/tomcat
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
# export CATALINA_OPTS="-Xms128m -Xmx256m"
exec $CATALINA_HOME/bin/catalina.sh $*
#chmod +x /etc/init.d/tomcat
# chkconfig --add tomcat
就可以启动服务了
#service tomcat start



二、修改配置文件



1、修改修改配置
  # vim /usr/local/tomcat/conf/server.xml
修改默认端口为80
  
找到host添加



     
     
     

   


#vim tomcat-users.xml  加用户
-->




# mkdir /tomcat/app1 -pv



2、添加测试文件
#vim index.jsp


TomcatA

  TomcatA
  
   
    Session ID
  
   
   
   
    Created on
   
   
  



#service tomcat stop
#service tomcat start
# jps
7334 Bootstrap
7355 Jps



3、测试一下
DSC0000.png
4、配置另外一台tomcat服务,和前面配置的tomcatA相同,只需要修改特定的选项
    # vim /usr/local/tomcat/conf/server.xml

找到host添加

其他的和前面配置相同



5、添加测试文件
# mkdir /tomcat/app1 -pv
#vim index.jsp



TomcatB

  TomcatB
  
   
    Session ID
  
   
   
   
    Created on
   
   
  



测试一下
DSC0001.png






三、安装配置apache



配置代理单台tomcat服务
1、编译安装 参考博客http://qidian510.blog.51cto.com/7319882/1282663
首先我们要安装aprapr-util
下载地址http://apr.apache.org/http://apr.apache.org/
(1) 编译安装apr
# tar xf apr-1.4.6.tar.bz2
# cd apr-1.4.6
# ./configure --prefix=/usr/local/apr
# make && make install
(2) 编译安装apr-util
# tar xf apr-util-1.5.2.tar.bz2
# cd apr-util-1.5.2
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
编译安装apache
# yum install -y pcre-devel openssl-devel
#tar xf httpd-2.4.6.tar.bz2
#cd httpd-2.4.6
--enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-lbmethod-heartbeat --enable-heartbeat --enable-slotmem-shm --enable-slotmem-plain --enable-watchdog
# make && make install



2、配置服务
# vim /etc/rc.d/init.d/httpd
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
RETVAL=0
STOP_TIMEOUT=${STOP_TIMEOUT-10}

给其执行权限,添加服务并且设定为自动运行
#chmod +x /etc/rc.d/init.d/httpd
#chkconfig --add httpd
#chkconfig httpd on

# cd /usr/local/apache/conf
# vim httpd.conf
启用模块
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
在最后添加
ProxyVia Off
ProxyRequests Off
ProxyPreserveHost Off

  Require all granted

ProxyPass / ajp://172.16.4.5:8009/
ProxyPa***everse / ajp://172.16.4.5:8009/

  Require all granted


如上apache相关指令说明:



ProxyPreserveHost {On|Off}:如果启用此功能,代理会将用户请求报文中的Host:行发送给后端的服务器,而不再使用ProxyPass指定的服务器地址。如果需要反向代理中支持虚拟主机,则开启此项。



ProxyVia {On|Off|Full|Block}:用于控制在http首部是否使用Via:。默认为Off,即不启用此功能;On表示每个请求和响应报文均添加Via:;Full表示每个Via:行都会添加当前apache服务器的版本号信息;Block表示每个代理请求报文中的Via:都会被移除。



ProxyRequests {On|Off}:是否开启apache正向代理的功能;启用此项时为了代理http协议必须启用mod_proxy_http模块。同时,如果为apache设置了ProxyPass,则必须将ProxyRequests设置为Off。



ProxyPass [path] !|url [key=value key=value ...]]:将后端服务器某URL与当前服务器的某虚拟路径关联起来作为提供服务的路径,path为当前服务器上的某虚拟路径,url为后端服务器上某URL路径。使用此指令时必须将ProxyRequests的值设置为Off



ProxyPa***everse:用于让apache调整HTTP重定向响应报文中的Location、Content-Location及URI标签所对应的URL,在反向代理环境中必须使用此指令避免重定向报文绕过proxy服务器。




注:和ajp结合比http性能好
~      

# service httpd configtest
# service httpd start



3、访问测试

DSC0002.png



配置多台tomcat实现负载均衡



1、修改配置文件
# cd /usr/local/apache/conf
# vim httpd.conf
前面配置相同,在最后添加
ProxyVia Off
ProxyRequests Off
ProxyPreserveHost Off


    BalancerMember ajp://172.16.4.5:8009/
    BalancerMember ajp://172.16.4.11:8009/



Require all granted

ProxyPass / balancer://lbcluster1/
ProxyPa***everse /  balancer://lbcluster1/

Require all granted




2、配置完成重启服务并测试
#service httpd restart


DSC0003.png
DSC0004.png







到这里我们的服务就配置完成了




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638680-1-1.html 上篇帖子: apache和nginx支持SSI配置 下篇帖子: apache+tomcat的架构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表