apache+tomcat

http版本2.4
1.http+tomcat通信了解:
   http和tomcat通信通过ajp,http,https协议进行通信
   http与tomcat基于mod_jd和mod_proxy实现负载均衡
1.安装http

a.下载:
apache http:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.25.tar.gz
arp:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
arp-util:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
b.编译安装
1.先安装pcre-develyum install pcre-devel2.先安装arp>tar -xzf apr-1.5.2.tar.gz>cd apr-1.5.2>./configure  --prefix=/usr/local/apr>make && make install3.安装arp-util>tar -xzf apr-util-1.5.4.tar.gz>cd apr-util-1.5.4>./configure --prefix=/usr/local/apt-util --with-apr=/usr/local/apr>make && make insatll4.安装httpd>tar -xzf httpd-2.4.25.tar.gz>cd httpd-2.4.>./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable--ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modeles=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-http --enable-proxy-ajp --enable-balencer>make && make install5.配置httpd的环境(a).配置httpd服务启动文件vim /etc/init.d/http. /etc/rc.d/init.d/functions    if [ -f /etc/sysconfig/httpd ]; then. /etc/sysconfig/httpd    fiHTTPD_LANG=${HTTPD_LANG-"C"}INITLOG_ARGS=""apachectl=/usr/sbin/httpd/bin/apachectlhttpd=/usr/local/httpd/bin/httpd}prog=httpdpidfile=${PIDFILE-/var/run/httpd/httpd.pid}lockfile=${LOCKFILE-/var/lock/subsys/httpd}RETVAL=0STOP_TIMEOUT=${STOP_TIMEOUT-10}start() {          echo -n $"Starting $prog: "LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONSRETVAL=$?         echo[ $RETVAL = 0 ] && touch ${lockfile}return $RETVAL}    stop() {status -p ${pidfile} $httpd > /dev/null          if [[ $? = 0 ]]; thenecho -n $"Stopping $prog: "killproc -p ${pidfile} -d ${STOP_TIMEOUT} $httpdelseecho -n $"Stopping $prog: "success          fiRETVAL=$?          echo[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}}    reload() {     echo -n $"Reloading $prog: "if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; thenRETVAL=6echo $"not reloading due to configuration syntax error"failure $"not reloading $httpd due to configuration syntax error"else# Force LSB behaviour from killprocLSB=1 killproc -p ${pidfile} $httpd -HUPRETVAL=$?          if [ $RETVAL -eq 7 ]; thenfailure $"httpd shutdown"fifiecho}   case "$1" instart)start;;stop)         stop;;status)status -p ${pidfile} $httpdRETVAL=$?;;restart)stopstart;;condrestart|try-restart)         if status -p ${pidfile} $httpd >&/dev/null; thenstopstart         fi;;force-reload|reload)reload;;graceful|help|configtest|fullstatus)         $apachectl $@RETVAL=$?;;*)         echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|forc    e-reload|reload|status|fullstatus|graceful|help|configtest}"RETVAL=2esacexit $RETVAL(b).导出头文件ln -sv /usr/local/httpd/include /usr/include/httpd(c).导出帮助文件vim /etc/man.configMANPATH /usr/local/htppd/man(d).修改环境变量vim /etc/profile.d/httpd        export PATH=/usr/local/httpd/bin:$PATH        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107

2.基于mod_proxy实现httd+tomcat
   a.基于ajp协议

ProxyVia off        ProxyRequests offProxyPreserveHost off<Proxy *>Require all granted</Proxy>ProxyPass / ajp://192.168.100.34:8009/ProxyPa***everse / ajp://192.168.100.34:8009/<Location />Require all granted</Location>12345678910111234567891011

b.基于http协议

ProxyVia OffProxyRequests OffProxyPass / http://192.168.100.34:8080/ProxyPa***everse / http://192.168.100.34:8080/<Proxy *>Require all granted</Proxy><Location />Require all granted</Location>1234567891012345678910

c.参数详解

ProxyVia {On|Off|Full|Block}:用于控制http首部是否时哟您Via,主要用于多级代理中控制代理请求的流向,Full表示每个请求报文都会添加apache服务器的版本号信息,Block表示每个代理报文中Via都将被清除。
ProxyPreserveHost {On|Off}:启用此功能,代理会将用户请求报文中的Host行发送给后端服务器,而不使用Proxy_pass指定的服务器地址,如果在反向代理中支持虚拟主机,则需要开启此项。
ProxyRequests {On|Off}:是否开启正向代理,如果设置proxy_pass这个必须设置为OffProxyPass path url [key=value key=value..];将后端服务器url和本地某虚拟路径关联起来作为提供服务的;路径,path是当前服务器上的某虚拟路径,如果path以/结尾,这url也必须以/结尾。常用key如下:min:连接池的最小容量,初始化时的容量。max:连接池的最大容量,loadfactor:用于负载均衡集群配置中,定义对应后端服务器的权重retry:apache在后端服务器得到错误响应时,多长时间之后在重试,单位为秒,若一致没有响应,则会移除,重新上线以后会添加进来
ProxyPa***everse:用于让apache调整HTTP重定向响应报文中的Location,Context-Location及URL标签所对应的URL,在反向代理中必须使用此指令,防止重定向报文绕过proxy服务器1234567891012345678910

d.测试


3.基于mod_jk实现http+tomcat
   a.编译安装mod_jk

1.下载:
http://mirror.bit.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz2.安装:    >tar -xzf tomcat-connectors-1.2.42-src.tar.gz    >cd tomcat-connectors-/native/>./configure --with-apxs=/usr/local/http/bin/apxs(如果http是yum安装,请安装httpd-devel,rpm -ql httpd-devel找到apxs路径)    >make && make install12345671234567

b.配置/etc/httpd.d/httpd.conf

1.vim /etc/httpd.d/httpd.conf
LoadModule jk_module modules/mod_jk.so  //装载模块JkWorkersFile /etc/httpd/extra/workers.properties   //设置workers文件JkLogFile logs/mod_jk.log   //定义日志文件JkLogLevel debug        //日志级别JkMount /* TomcatA      //根下面的所有路径都转发给tomcatAJkMount /status/ stat1      //查看状态页面2.vim /etc/httpd/extra/workers.properties
worker.list=TomcatA,stat1
worker.TomcatA.port=8009worker.TomcatA.host=192.168.100.34worker.TomcatA.type=ajp13
worker.TomcatA.lbfactor=1worker.stat1.type=status        //状态页面12345678910111213141234567891011121314

c.workers.properties详解:

格式
worker.list = worker.name worker.nameworker.worer_name.property =valueproperty:host:tomcat实例所在主机port:所在端口connection_pool_minsize:最少保持在连接池中链接的个数connection_pool_timeout:连接池中链接超时时长retries:错误发生时重试次数socket_timeout:mod_jk等待worker响应时长,默认伪0,无限等待socket_keepalive:是否启动长链接,1表示启用lbfactor:worker的权重type:指定类型,值伪status表示状态信息,ajp13表示当前worker伪运行的一个实例,lb表示使用负载均衡1234567891011121312345678910111213

d.测试结果

转载于:https://blog.51cto.com/lnsane784/1928006

Linux下实现apache代理tomcat相关推荐

  1. 在Linux下进行Apache+tomcat整合

    今天为大家介绍如何在Linux下进行Apache+tomcat整合,虚拟机版本是Redhat5,ip地址为192.168.1.12,实验步骤如下: 一 安装Jdk 二 安装Apache 三 安装tom ...

  2. LINUX下的APACHE的配置

    今天写一下LINUX下的APACHE的配置方法. APACHE是作为WEB服务器的.它的优点在于用缓存方式来加快网页的搜索速度. APACHE缺省只支持静态网页 LINUX下有APACHE的RPM包 ...

  3. apache 下载安装linux,linux下安装apache详解

    下载httpd-2.2.6.tar.bz2 把httpd-2.2.6.tar.bz2放到/soft 下 [root@localhost ~]#cd /soft [root@localhost soft ...

  4. Linux下搭建Apache服务器

    Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权, ...

  5. linux shell脚本攻略_(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤...

    今天为大家带来的内容是:(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤 本文内容主要介绍了Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤,文章 ...

  6. 如何关闭PHP的安全模式,Linux下的Apache和PHP安全设置,如何开启PHP的安全模式

    Linux下的Apache和PHP安全设置 PHP安全模式开启,PHP5.3将不再有安全模式. (1) safe_mode:以安全模式运行php; 在php.ini文件中使用如下 safe_mode ...

  7. linux 怎么配置apache,在Linux下配置Apache Web服务

    <在Linux下配置Apache Web服务>由会员分享,可在线阅读,更多相关<在Linux下配置Apache Web服务(10页珍藏版)>请在人人文库网上搜索. 1.在Lin ...

  8. Linux下部署多个Tomcat

    Linux下部署多个Tomcat 1.环境: 1.1.Centos 5.0 1.2.apache-tomcat-6.0.18 2.需要解决一下几个问题 2.1.不同的tomcat启动和关闭监听不同的端 ...

  9. Linux下安装多个Tomcat服务器

    目录 QUESTION:阿里云服务器Linux下安装多个Tomcat服务器的方法 ANSWER: 一.安装前的下载相关文件 1.1下载tomcat 1.2准备工具 二.登陆linux服务器进行安装 2 ...

最新文章

  1. python-冒泡排序
  2. mysql piress_由MySql漏洞导致电脑被入侵(特征为新增加名为piress的帐户)所想到的...
  3. Problem G: 部分复制字符串
  4. linux查看文件使用情况,linux查看文件句柄使用情况
  5. Modern UI for WPF 开源项目(5):定义logo
  6. 浏览器linux安装失败,LINUX 上安装WAS 提示没有浏览器问题
  7. web下拉列表代码_文章列表总结(一)
  8. Android开发笔记(七十五)内存泄漏的处理
  9. Spring MVC基础入门
  10. STL sort的危险之处
  11. Mybatis3全面详解
  12. 研究生毕业做软件测试,毕业研究生,转学软件测试月薪11K,会做选择的人生到底有多赚?...
  13. iOS10-iOS13全系统越狱来了,A5-A11芯片全部能越狱工具来了
  14. Altium Designer——常见贴片钽电容封装尺寸及特性
  15. 开源物联网监控告警平台JAVA开发
  16. python开发cs程序_CSE209代做、代写Computer Graphics、代做CS/python编程设计代写Python程序|代做Processing...
  17. leetcode576. 出界的路径数
  18. SMG、东方明珠新媒体战略推进一周年;百度营销联合多品牌方举办开放麦;驭势科技推出自动驾驶新产品UiBox | 全球TMT...
  19. CentOS7系统编码
  20. CleanMyMac X适用于Mac电脑安全的软件

热门文章

  1. Oracle NULL 和空值
  2. icps -lm 命令与 shmmax 的关系
  3. 如何查看dede版本信息
  4. sublime快捷键
  5. Spark机器学习9· 实时机器学习(scala with sbt)
  6. arcgis python 二次开发_我在部署ArcGIS API for Python时踩到的坑
  7. 工业互联网 — TSN — 技术架构
  8. Kubernetes — CNI 规范
  9. Python Module_pdb_DEBUG 方法
  10. 【广州.NET社区线下活动】云定未来 - Azure Meetup