http://tomcat.apache.org/connectors-doc/
os:Centos5-32位
apache-tomcat-6.0.35.tar.gz
httpd-2.2.17.tar.gz
jdk-6u23-linux-i586.bin
tomcat-connectors-1.2.31-src.tar.gz

ip 192.168.128.128
apache+tomcat

ip 192.168.128.129
tomcat
-------------------
安装apache
cd soft
tar -zxvf httpd-2.2.21.tar.gz
cd httpd-2.2.21
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all
make
make install

http://mirror.bjtu.edu.cn/apache//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.32-src.tar.gz
tar -zxvf tomcat-connectors-1.2.32-src.tar.gz
cd tomcat-connectors-1.2.32-src
cd native
./configure --with-apxs=/usr/local/apache2/bin/apxs
make && make install
#生成mod_jk.so模块用来支持ajp协议
/usr/local/apache2/modules/mod_jk.so

chmod +x jdk-6u29-linux-i586.bin
./jdk-6u29-linux-i586.bin
mkdir java
mv jdk1.6.0_29/ java
mv java /usr/
tar -zxvf apache-tomcat-6.0.35
mv  apache-tomcat-6.0.35 /usr/local/tomcat6

cat >>/etc/profile <<eof
export JAVA_HOME=/usr/java/jdk1.6.0_29
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_HOME=/usr/local/tomcat6
eof

. /etc/profile
java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing)

######## 开始配置 ###########
apache
mkdir /usr/local/apache2/conf/mod_jk

配置httpd.conf 文件
vi /usr/local/apache2/conf/httpd.conf
修改
DocumentRoot "/usr/local/tomcat6/webapps"
添加
Include conf/mod_jk/mod_jk.conf

mkdir /usr/local/apache2/conf/mod_jk
mod_jk.conf
<Directory ~ "/WEB-INF/">
        Order allow,deny
        Deny from all
</Directory>
<Location /jkstatus>
        Order deny,allow
        Deny from all
</Location>

LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile conf/mod_jk/workers.properties
JkMountFile conf/mod_jk/uriworkermap.properties
JkShmFile logs/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel warn
</IfModule>

创建并配置workers.properties文件
vi /usr/local/apache2/conf/mod_jk/workers.properties

ps = /
worker.list=loadbalance,jkstatus
###### tomcat worker1 ######
worker.worker1.port=8009
worker.worker1.host=127.0.0.1
worker.worker1.type=ajp13
worker.worker1.lbfactor=1

###### tomcat worker2 ######
worker.worker2.port=8009
worker.worker2.host=192.168.128.129
worker.worker2.type=ajp13
worker.worker2.lbfactor=1

worker.loadbalance.type=lb
worker.retries=3
worker.loadbalance.balance_workers=worker1,worker2
worker.loadbalance.sticky_session=1
sticky_session_force=false
# 如果某台服务故障,则转发请求到其它服务器(session已经丢失)
worker.jkstatus.type=status

创建并配置uriworkermap.properties
vi /usr/local/apache2/conf/uriworkermap.properties

/*.jsp=loadbalance
/*.do=loadbalance
/*.action=loadbalance
#/*把所有请求转发给tomcat处理
#!/*.gif把gif图片给apache处理其余的给tomcat处理(写在任意一行即可)

########### 配置tomcat ############
cd /usr/local/tomcat6/webapps
rm -rf docs host-manager/ manager/ ROOT/
保留examples作为测试用.

编辑/usr/local/tomcat6/conf/server.xml

<!--   <Connector port="8080" protocol="HTTP/1.1"
     70                connectionTimeout="20000"
     71                redirectPort="8443" />
     -->
     89     <!-- Define an AJP 1.3 Connector on port 8009 -->
           <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
            maxThreads=”1000″ minSpareThreads=”25″       maxSpareThreads=”75″ acceptCount=”500″
            connectionTimeout=”10000″ disableUploadTimeout=”true” debug="0" enableLookups=”false” URIEncoding=”UTF-8″
           />  
           <!-- You should set jvmRoute to support load-balancing via AJP ie : -->
          <Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">
   
编辑131的server.xml
            <Engine name="Catalina" defaultHost="localhost" jvmRoute="worker2">           
# 注意jmvRoute要和worker1或worker2对应以用来判断session.
# 例如Session ID: 534A86863E157E7F0C9CBD489087CAFC.worker2

测试页面:
cat mem.jsp
<%
Runtime lRuntime = Runtime.getRuntime();
out.println("*** BEGIN MEMORY STATISTICS ***<br/>");
out.println("Free Memory: "+lRuntime.freeMemory()+"<br/>");
out.println("Max   Memory: "+lRuntime.maxMemory()+"<br/>");
out.println("Total Memory: "+lRuntime.totalMemory()+"<br/>");
out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");
out.println("*** END MEMORY STATISTICS ***");
%>
# 对于apache的root和tomcat的webapps设置:
如果带目录访问则DocumentRoot和webapps指定的目录一样.
如果不带项目目录访问则tomcat需要设置Context指定访问路径/;
同时apache根目录设置和docBase一致.

如果要访问/examples/servlets/*必须添加
/examples/servlets/*=loadbalance
到uriworkermap.properties的任一行前或后。
不添加则不能访问,报404

转载于:https://blog.51cto.com/linuxgp/764397

生产环境apache2整合tomcat动静分离相关推荐

  1. Docker构建Nginx+Tomcat动静分离架构

    随着主流Nginx WEB服务器的发展,现在基于Nginx的WEB服务器已广泛应用于各大互联网企业.今天我们来使用docker构建我们的Linux+Nginx+Tomcat动静分离服务器. 1)    ...

  2. nginx + tomcat 动静分离

    目录 前言 一.Nginx负载均衡实现原理 1. 反向代理原理 2.反向代理的概念 3.反向代理的优势 4.Nginx四层反向代理和七层反向代理 二.Nginx动静分离实现原理 1.动静分离的概念 2 ...

  3. 解决生产环境一次tomcat无故宕机的诡异问题

    文章目录 前言 一.问题描述 二.排查步骤 1.先排查一下是不是代码的不规范导致JVM内存溢出 1.先用jstat -gc 命令查看下内存使用情况 2.使用jmap 查看下内存配置 通过以上发现内存使 ...

  4. 生产环境部署java+tomcat+mysql的一些体会

    title: 生产环境部署java+tomcat+mysql的一些体会 java的安装 链接 提取码:y8w0 具体安装可查看别人写的博客,整个流程大概是以下: 下载 jre-8u202-linux- ...

  5. k8s 发布项目实现 nginx 和 tomcat 动静分离(2)

    kubead 部署 kubernetes 请查看 3 部署 dashboard https://github.com/kubernetes/dashboard 3.1 部署 dashboard v2. ...

  6. Nginx + Tomcat 动静分离实现负载均衡

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 1 # 定义Nginx运行的用户 和 用户组 如 ...

  7. 基于前后端分离的Nginx+Tomcat动静分离

    1.什么是动静分离 "动"与"静" 在弄清动静分离之前,我们要先明白什么是动,什么是静. 在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就 ...

  8. 你知道怎么在生产环境下部署tomcat吗?

    享学课堂特邀作者:老顾 转载请声明出处! 一.前言 小伙伴们在网上看到的很多文章,都是对tomcat的一些介绍,什么配置啊,怎么启动.其实在生产环境中怎么部署,和网上介绍的有很大区别.这篇文章老顾就带 ...

  9. Tomcat动静分离

    前言 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强. 上篇博客利用Nginx反向代理的功能,实现了Tomcat的集群 ...

  10. nginx+tomcat动静分离结构

    本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...

最新文章

  1. EasyTouch初步使用
  2. Charles 河畔的大圆顶
  3. LeetCode: 107_Binary Tree Level Order Traversal II | 二叉树自底向上的层次遍历 | Easy
  4. photoshop(ps) cs6中文版
  5. 大数据分析中国冬季重度雾霾的成因(二)
  6. 小工匠聊架构 - 分布式缓存技术_缓存设计
  7. python五子棋双人对弈_PyQt5实现五子棋游戏(人机对弈)
  8. Proxy(代理)--对象结构型模式
  9. JQuery放大镜效果
  10. xampp 支持pdo mysql_在Windows上安装PHP PDO(xampp)
  11. 灵悟礼品网上专卖店——画出项目的主要框架
  12. Unity WebGL基于js通信实现网页录音
  13. SIP电话为什么突然断线
  14. HTML 几种特别分割线特效
  15. js 递归函数(函数自己调用自己)
  16. Scrum Gathering开放分享:敏捷开发早期估算by火星人陈勇,北京,6.30!
  17. 即将实习的应届毕业生 学习java SpringMVC 数据库 知识总结
  18. 华为OD机试 - 相对开音节 | 备考思路,刷题要点,答疑 【新解法】
  19. UIColor延伸:判断两个颜色是否相等
  20. cad详图怎么画_CAD原始结构图如何绘制?

热门文章

  1. linux复制远程文件和文件夹
  2. c++ 将变量有序保存在txt文件中_python读写文件(四)
  3. 编译修改OpenCV的rpath
  4. 旁边一位员工天天跟别人聊天,主管都不敢管,那你当什么主管
  5. 编程基本功:再紧急的工作到了员工手里,都不急
  6. 物质的粒子应该是空心的
  7. 飞机上使用定位功能的体验
  8. 区块链大有前途,数字货币不会消失
  9. php 正则表达式 匹配 字符串,PHP 字符串与正则表达式匹配
  10. C++ List的用法(整理)[转载]