Apache2.4+Tomcat7集群搭建
一、安装jdk、Tomcat、Apache
1.安装jdk1.7
cd /home/java/software #把软件下载到/home/java/software目录下,将应用安装到/home/java目录下。 wget http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz tar -zxvf jdk-7u80-linux-x64.tar.gz mv jdk1.7.0_80 ../jdk1.7
2.安装Tomcat7
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.tar.gz tar -zxvf apache-tomcat-7.0.63.tar.gz mv apache-tomcat-7.0.63 ../Tomcat7
3.设置JAVA_HOME、PATH、CLASSPATH
vim /etc/profile #在文件尾部加入如下内容: export JAVA_HOME=/home/java/jdk1.7 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar source /etc/profile #使修改生效
4.给Tomcat设置JRE_HOME和JAVA_OPTS
cd /home/java/Tomcat7 vim bin/catalina.sh #加入如下内容: #JRE_HOME JRE_HOME=/home/java/jdk1.7/jre export JRE_HOME #JAVA_OPTS JAVA_OPTS="-Xms1024m -Xmx1024m" #设置Java运行内容为1024M export JAVA_OPTS
5.设置Tomcat编码
vim conf/server.xml #在Connector标签里加入URIEncoding="UTF-8" <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443" URIEncoding="UTF-8"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
6.安装Apache要指定apr、apr-util和pcre,所以要先安装这三个软件再安装apache。
#1.安装apr cd /home/java/software #把软件下载到/home/java/software目录下,将应用安装到/home/java目录下。 wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz tar -zxvf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/home/java/apr make make install cd .. #2.安装apr-util wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz tar -zxvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --prefix=/home/java/apr-util --with-apr=/home/java/apr make make install cd .. #3.安装pcre wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz tar -zxvf pcre-8.37.tar.gz cd pcre-8.37 ./configure --prefix=/home/java/pcre make make install cd .. #4.安装apache wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.16.tar.gz tar -zxvf httpd-2.4.16.tar.gz httpd-2.4.16 ./configure --prefix=/home/java/Apache2.4 --with-apr=/home/java/apr --with-apr-util=/home/java/apr-util --with-pcre=/home/java/pcre make make install #5.默认配置的httpd就可以启动了,但会报httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message的警告,所以要在httpd.conf里指定ServerName。 cd /home/java/Apache2.4 vim conf/httpd.conf #加入如下内容: ServerName localhost:80
二、安装jk
cd /home/java/software #把软件下载到/home/java/software目录下,将应用安装到/home/java目录下。 wget http://apache.fayea.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz tar -zxvf tomcat-connectors-1.2.40-src.tar.gz cd tomcat-connectors-1.2.40-src/native/ ./configure --with-apxs=/home/java/Apache2.4/bin/apxs --with-java-home=/home/java/jdk1.7 make make install
三、配置集群
1.配置jk_module模块,vim conf/httpd.conf增加如下内容
LoadModule jk_module modules/mod_jk.so <IfModule jk_module>JkWorkersFile conf/workers.propertiesJkMount /* controller #所有网页通过controller处理JkMount /jkstatus jkstatus #访问http://IP/jkstatus来查看jkstatusJkLogFile logs/mod_jk.logJkLogLevel info </IfModule> <Location /jkstatus>Options MultiViewsAuthType BasicAuthName "Auther Center"AuthUserFile conf/.htpasswd #认证用户存放文件require valid-user granted #只有认证用户才可以访问 </Location> 将LoadModule rewrite_module modules/mod_rewrite.so前面#去掉。
2.在conf目录下vim workers.properties加入如下内容:
worker.list=controller,jkstatus #========tomcat1======== worker.tomcat1.port=8009 #指定tomcat1服务器AJP的端口,默认为8009 worker.tomcat1.host=192.168.1.100 #指定tomcat1服务器IP或域名 worker.tomcat1.type=ajp13 #指定tomcat1与apache AJP通讯协议 worker.tomcat1.lbfactor=1 #指定负载平衡因数,只有启用了负载平衡才有用. #========tomcat2======== worker.tomcat2.port=8009 worker.tomcat2.host=192.168.1.200 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=1 #========controller负载平衡控制器======== worker.controller.type=lb #指定controller类型 worker.controller.balance_workers=tomcat1,tomcat2 #指定负载平衡的tomcat worker.controller.sticky_session=1 #指定是否粘性session worker.jkstatus.type=status worker.jkstatus.read_only=1 #指定jkstatus为只读方式
3.修改每个tomcat的conf/server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="Tomcat1"> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"><Channel className="org.apache.catalina.tribes.group.GroupChannel"><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4001"autoBind="100"selectorTimeout="5000"maxThreads="6"/></Channel> </Cluster>
4.修改web应用里面WEB-INF目录下的web.xml文件,加入标签
<distributable/>
直接加在</web-app>之前就可以了
做tomcat集群必须需要这一步,否则用户的session就无法正常使用。
5.添加jkstatus访问用户
bin/htpasswd -c conf/.htpasswd admin #在conf目录建立.htpasswd文件并创建admin用户。 #之后会让你输入两次新用户admin的密码,最后通过[ls -al]就可以看到生成的密码文件了(它是隐藏文件,需要-a才能看到) #第一次建立.htpasswd文件时候需要-c,以后添加其他用户时则不需要,如果加上-c则会把.htpasswd文件替换掉。 bin/htpasswd -m conf/.htpasswd admin #修改admin用户登录密码 bin/htpasswd -D conf/.htpasswd admin #删除admin用户
四、启动Tomcat和Apache
cd /home/java/Tomcat7 bin/startup.sh #启动Tomcat bin/shutdown.sh #关闭Tomcat cd /home/java/Apache2.4 bin/apachectl start #启动Apache bin/apachectl stop #关闭Apache
五、参考文档
http://tomcat.apache.org/connectors-doc/reference/workers.html
http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html
转载于:https://blog.51cto.com/liyong0802/1679055
Apache2.4+Tomcat7集群搭建相关推荐
- win 下 apache2.4 +tomcat7 集群
为什么80%的码农都做不了架构师?>>> 反正每次来做一个不熟悉的东西,就是各种的search ,前一次去做过一个apache的东西,各种蛋疼,各种不能用.好多的东西也是比较旧 ...
- Zookeeper的Centos集群搭建
一.Centos 集群搭建 服务器 端口 10.30.1.16 2181 2881 3881 10.30.1.37 2181 2881 3881 10.30.1.38 2181 2881 3881 1 ...
- redis安装、持久化、数据类型、常用操作、操作键值、安全设置、慢查询日志、存储session、主从配置、集群介绍、集群搭建配置、集群操作,php安装redis扩展...
21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.13/21.14/21.15 redis常用操作 21.16 redis操作键 ...
- twemproxy的安装及集群搭建
linux环境-redis代理twemproxy的安装 安装twemproxy 1.下载redis代理源码到本地 2.安装 3.集群搭建 twemproxy(nutcracker)是一个快且轻量级的缓 ...
- Spark-----Spark 与 Hadoop 对比,Spark 集群搭建与示例运行,RDD算子简单入门
目录 一.Spark 概述 1.1. Spark是什么 1.2. Spark的特点(优点) 1.3. Spark组件 1.4. Spark和Hadoop的异同 二.Spark 集群搭建 2.1. Sp ...
- 大数据调度平台Airflow(八):Airflow分布式集群搭建及测试
目录 Airflow分布式集群搭建及测试 一.节点规划 二.airflow集群搭建步骤 1.在所有节点安装python3.7 2.在所有节点上安装airflow 三.初始化Airflow 1.每台节点 ...
- 2021年大数据Kafka(三):❤️Kafka的集群搭建以及shell启动命令脚本编写❤️
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的集群搭建以及shell启动命令脚本编写 一.搭建 ...
- 2021年大数据ZooKeeper(二):ZooKeeper集群搭建
目录 ZooKeeper集群搭建 第一步:下载zookeeeper的压缩包,下载网址如下 第二步:解压 第三步:修改配置文件 第四步:添加myid配置 第五步:安装包分发并修改myid的 ...
- 基于zookeeper的solrCloud集群搭建
转自:https://blog.csdn.net/yougoule/article/details/78445759 基于原文对实践遇到的问题稍作补充 1.安装及搭建相关环境 1.1环境准备 cen ...
最新文章
- matlab矩阵方块网络着色imshow_matlab中用imshow()显示图像与图像矩阵的数据类型的关系...
- todo文件说明已停止工作_番茄ToDo,一款颜值功能兼备的番茄钟。
- Where does the setting xx-bindingSuntax - complex take effect
- 5-1 unittest框架使用
- OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器
- 用户登录界面 - 记事本风格HTML代码
- from injection shell sql to_FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION
- java挂黑链,挂黑链代码汇总
- 大一c语言作业操作题库,大学C语言考试题库(含答案)
- 微信设置字体后微信浏览器页面字体也会跟着改变的解决办法
- 程序员的奋斗史(三十三)——人在囧途之应聘篇(三)
- php 计费系统设计,仓储系统之计费模块设计
- 数据库技术-数据库概念设计
- win2008服务器系统玩红警,Win10系统不能玩红警2的解决方法
- 计算机在信息处理中的作品用,计算机信息处理技术在办公自动化中的运用
- 汉语计算机语言,从计算机编程语言说汉语的比较优势
- 实现两个变量的互换(不借助第三个变量)
- Docker推送镜像到自己的阿里云卡住,也不报错
- 我终于深入参与了一个分布式系统了,好多想法不一样了
- 一岁半宝宝不肯吃饭怎么办
热门文章
- matlab中help所有函数功能的英文翻译
- [转] Zend studio中开发常用
- 函数指针到文本反汇编
- 团队前四次作业——个人总结
- C#版 - Leetcode49 - 字母异位词分组 - 题解
- 大数据系列6:HBase – 基于Hadoop的分布式数据库
- edge.js架起node.js和.net互操作桥梁
- CQRS实践(3): Command执行结果的返回
- python构建json_如何使用Python构建JSON API
- vs2017 open从v_宣布#Open2017,这是面向开发人员的除夕直播流