生产环境apache2整合tomcat动静分离
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动静分离相关推荐
- Docker构建Nginx+Tomcat动静分离架构
随着主流Nginx WEB服务器的发展,现在基于Nginx的WEB服务器已广泛应用于各大互联网企业.今天我们来使用docker构建我们的Linux+Nginx+Tomcat动静分离服务器. 1) ...
- nginx + tomcat 动静分离
目录 前言 一.Nginx负载均衡实现原理 1. 反向代理原理 2.反向代理的概念 3.反向代理的优势 4.Nginx四层反向代理和七层反向代理 二.Nginx动静分离实现原理 1.动静分离的概念 2 ...
- 解决生产环境一次tomcat无故宕机的诡异问题
文章目录 前言 一.问题描述 二.排查步骤 1.先排查一下是不是代码的不规范导致JVM内存溢出 1.先用jstat -gc 命令查看下内存使用情况 2.使用jmap 查看下内存配置 通过以上发现内存使 ...
- 生产环境部署java+tomcat+mysql的一些体会
title: 生产环境部署java+tomcat+mysql的一些体会 java的安装 链接 提取码:y8w0 具体安装可查看别人写的博客,整个流程大概是以下: 下载 jre-8u202-linux- ...
- k8s 发布项目实现 nginx 和 tomcat 动静分离(2)
kubead 部署 kubernetes 请查看 3 部署 dashboard https://github.com/kubernetes/dashboard 3.1 部署 dashboard v2. ...
- Nginx + Tomcat 动静分离实现负载均衡
0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 1 # 定义Nginx运行的用户 和 用户组 如 ...
- 基于前后端分离的Nginx+Tomcat动静分离
1.什么是动静分离 "动"与"静" 在弄清动静分离之前,我们要先明白什么是动,什么是静. 在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就 ...
- 你知道怎么在生产环境下部署tomcat吗?
享学课堂特邀作者:老顾 转载请声明出处! 一.前言 小伙伴们在网上看到的很多文章,都是对tomcat的一些介绍,什么配置啊,怎么启动.其实在生产环境中怎么部署,和网上介绍的有很大区别.这篇文章老顾就带 ...
- Tomcat动静分离
前言 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强. 上篇博客利用Nginx反向代理的功能,实现了Tomcat的集群 ...
- nginx+tomcat动静分离结构
本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...
最新文章
- EasyTouch初步使用
- Charles 河畔的大圆顶
- LeetCode: 107_Binary Tree Level Order Traversal II | 二叉树自底向上的层次遍历 | Easy
- photoshop(ps) cs6中文版
- 大数据分析中国冬季重度雾霾的成因(二)
- 小工匠聊架构 - 分布式缓存技术_缓存设计
- python五子棋双人对弈_PyQt5实现五子棋游戏(人机对弈)
- Proxy(代理)--对象结构型模式
- JQuery放大镜效果
- xampp 支持pdo mysql_在Windows上安装PHP PDO(xampp)
- 灵悟礼品网上专卖店——画出项目的主要框架
- Unity WebGL基于js通信实现网页录音
- SIP电话为什么突然断线
- HTML 几种特别分割线特效
- js 递归函数(函数自己调用自己)
- Scrum Gathering开放分享:敏捷开发早期估算by火星人陈勇,北京,6.30!
- 即将实习的应届毕业生 学习java SpringMVC 数据库 知识总结
- 华为OD机试 - 相对开音节 | 备考思路,刷题要点,答疑 【新解法】
- UIColor延伸:判断两个颜色是否相等
- cad详图怎么画_CAD原始结构图如何绘制?