`
szlxh002
  • 浏览: 34471 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux下面配置Apache2 + tomcat7.0 + ssl 集群安装与配置

阅读更多

      可以通过apache proxy代理或mod_jk.mo模块实现tomcat集群的配置.

一、apache2.4的安装

1、下载apache2.4源码

http://apache.fayea.com//httpd/httpd-2.4.18.tar.gz

 

把源码保存在目录/usr/local/src目录下

进入目录/usr/local/src

cd /usr/local/src

解压源码:tax -xf httpd-2.4.18.tar.gz

 

下载apr,apr-util, pcre源码至/usr/local/src 目录下

 

wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

 

解压相关的源码至/usr/local/src目录下。运行以下命令

./configure --prefix /usr/local/apache2 --with-apr=/usr/local/src/apr --with-apr-util=/usr/local/src/apr-util/ --with-pcre=/usr/local/src/pcre

 

 

2、安装apache2.4

进入apache2的源码目录:

#make install

 

3、运行apache2

安装完的apache2存入于目录/usr/local/apache2下面

#cd /usr/local/apache2/bin

#sudo apachectl start

在浏览器中运行 http://localhost

显示It Works表示安装成功。

 

二、下载 tomcat7

http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.67/bin/apache-tomcat-7.0.67.tar.gz

 

解压到目录/usr/local/

 

#tar -xf apache-tomcat-7.0.67.tar.gz

改变目录名为:tomcat7

#sudo mv apache-tomcat-7.0.64 tomcat7

复制多一个tomcat目录

#sudo cp tomcat7 tomcat71

 

三、配置tomcat

 

进入tomcat其中的一个目录,修改配置文件:conf/server.xml

#sudo vim conf/server.xml

修改如下内容:增加jvmRoute="jvm1"

<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1" >

增加如下内容实现集群和Session的复制功能:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> 

	<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> 

	<Channel className="org.apache.catalina.tribes.group.GroupChannel"> 

		<Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> 

		<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/> 

		<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> 

			<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> 

		</Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> 

		<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> 

	</Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> 

	<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> 

	<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" 

		tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" 

		watchDir="/tmp/war-listen/" watchEnabled="false"/> 

	<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> 

	<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> 

</Cluster>

 

保存,把此文件拷贝覆盖到另一tomcat的配置文件:tomcat71/conf/server.xml。

打开另一tomcat的配置文件,修改以下相关内容,以免端口冲突。

<Server port="9005" shutdown="SHUTDOWN">

    <Connector port="9080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="9443" />

   <Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />

<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2" >

 

 

 四、以代理方式配置集群

1、编辑httpd.conf配置文件

#vim conf/httpd.conf增加以下模块(把相关注释去掉):

 

LoadModule authn_socache_module modules/mod_authn_socache.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule speling_module modules/mod_speling.so
LoadModule rewrite_module modules/mod_rewrite.so
 

 

把Servername改成如下:

ServerName 127.0.0.1:80

 

# Virtual hosts

去掉下面的注释
Include conf/extra/httpd-vhosts.conf

 

 在文件的未尾添加如下内容:

 

ProxyRequests Off
#正向代理需要关闭,主要是为了安全
proxyPass / balancer://tomcatcluster/  
#表示所有请求都交给 mycluster 来处理
ProxyPassReverse / balancer://tomcatcluster/  
#防止内部请求重定向会绕过apache2,这句需要加上
<proxy balancer://tomcatcluster>
     BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
     BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy> 
 2、编辑conf/extra/httpd-vhosts.conf

 

 添加如下内容:

<VirtualHost *:80>
         ServerAdmin zengwei.shao@samsung.com
         ServerName localhost
         ServerAlias localhost
         ProxyPass / balancer://tomcatcluster/ stickysession=jsessionid nofailover=On
         ProxyPassReverse / balancer://tomcatcluster/
         ErrorLog "logs/lbtest-error.log"
         CustomLog "logs/lbtest-access.log" common
</VirtualHost>

 以代理方式配置完成。

 

五、通过mod_jk.mo模块配置集群

 

1.下载mod_jk.mo模块

http://tomcat.apache.org/download-connectors.cgi

解压之后把文件mod_jk.so 拷贝到apache2/modules目录下

2.在apache2/conf/目录下新加文件mod-jk.conf

把以下内容添加到文件mod-jk.conf中

#目录下的文件名保持一致.  
LoadModule jk_module /usr/local/apache2/modules/mod_jk.so  
#指定workers.properties文件目录.  
JkWorkersFile /usr/local/apache2/conf/workers.properties  
#指定哪些请求由tomcat处理,controller为workers.properties文件里指定的负载控制器.  
JkMount /* controller  
#JkMount /*.html controller  
#JkMount /*.jsp controller  
#JkMount /*.do controller  
#JkMount /servlet/* controller  
#JkUnMount /index.html controller 

 3.在apache2/conf/目录下新加文件workers.properties

把以下内容添加到文件workers.properties中

增加如下内容:

worker.list = controller      #不指定报错Could not find a worker for worker name=controller  
    #========jvm1========  
    worker.jvm1.port=8009  
    worker.jvm1.host=localhost  
    worker.jvm1.type=ajp13  
    worker.jvm1.lbfactor=1  
    #========jvm2========  
    worker.jvm2.port=9009  
    worker.jvm2.host=localhost  
    worker.jvm2.type=ajp13  
    worker.jvm2.lbfactor=1  
       
    #========controller负载平衡控制器========  
    worker.controller.type=lb                          #指定controller类型  
    worker.controller.balanced_workers=jvm1,jvm2#指定负载平衡的tomcat  
    worker.controller.sticky_session=false              #指定是否粘性session  
    worker.controller.sticky_session_force=false  
    worker.connection_pool_size=3000  
    worker.connection_pool_minsize=50  
    worker.connection_pool_timeout=50000  
    # session配置说明:  
    #当sticky_session,sticky_session_force都为true时不复制session,  
    #sticky_session_force=false指集群中某台服务器多次请求没有响应,则转发到其它服务器处理,  
    #sticky_session=false不使用粘性session,同时配置不复制session时,注意转发请求后可能会找不到原来的session.  

 

4.修改apache2/conf/httpd.conf

在文件的未尾加下如下内容:

include /usr/local/apache2/conf/mod-jk.conf

 

六、修改应用的web.xml

增加如下内容:

<distributable/>

 

七、apache配置ssl证书

 

打开apache配置文件

vim conf/httpd.conf

增加下面模块:

LoadModule ssl_module libexec/apache2/mod_ssl.so

加入如下配置:

Include conf/extra/httpd-ssl.conf

 

修改extra/httpd-ssl.conf配置

<VirtualHost _default_:443>下增加如下内容:

#ssl也具有集群功能:

JkMount /* controller

#证书及密钥

SSLCertificateFile "/usr/local/ssl/certs/server.cer"

SSLCertificateKeyFile "/usr/local/ssl/private/server-key.pem"

有关证书和密钥的生成,请参考:

http://szlxh002.iteye.com/admin/blogs/2277307

 

 最后,有关的配置文件,参考bak.rar

 

  • bak.rar (11.8 KB)
  • 下载次数: 0
分享到:
评论

相关推荐

    apache-tomcat-7.0.106.zip

    这个压缩包"apache-tomcat-7.0.106.zip"是Apache Tomcat的7.0.106版本,从Apache官方网站获取,确保了其来源的可靠性与安全性。在本文中,我们将深入探讨Tomcat 7.0.106版本中的关键知识点,以及如何进行安装、配置...

    Tomcat7.0(含配置文档).zip

    Tomcat7.0是一款广泛应用于Web开发领域的开源Java Servlet容器,由Apache软件基金会维护。它遵循Java EE规范,主要支持Servlet、JSP和JavaServer Pages等技术。作为轻量级应用服务器,Tomcat以其简单易用、性能稳定...

    Apache-tomcat-7.0版本

    3. **安装与配置**: 对于Windows用户,下载的apache-tomcat-7.0.65解压后,只需设置环境变量`CATALINA_HOME`指向Tomcat的安装目录,即可开始使用。为了启动和停止Tomcat,可以运行bin目录下的`startup.bat`和`...

    Tomcat 7.0

    【Tomcat 7.0】是一款广泛使用的开源Java Servlet容器,由Apache软件基金会开发和维护。它是基于Java的Web应用程序服务器,特别适用于运行Java EE Web应用程序。Tomcat 7.0是其7.x系列的一个重要版本,引入了许多新...

    apache+tomcat集群.doc

    ### Apache + Tomcat 集群配置详解 #### 背景介绍 随着互联网应用规模的不断增大,单台服务器已经难以满足日益增长的服务需求。为了提高系统的可用性与性能,构建一个高可用且高性能的应用架构变得尤为重要。在这种...

    tomcat7.0免安装版

    Apache Tomcat 7.0是Java Servlet和JavaServer Pages(JSP)的开源Web应用服务器,由Apache软件基金会开发并维护。它是一个轻量级的应用服务器,主要用于运行Java的动态Web内容,如JSP和Servlet。Tomcat 7.0免安装版...

    apache-tomcat-7.0

    2. **安装与配置**:在Windows环境下,用户可以通过解压提供的"apache-tomcat-7.0.64"文件来安装Tomcat。配置主要涉及修改`conf/server.xml`文件,设置端口号、应用目录等参数。此外,还需配置环境变量,例如设置...

    tomcat7.0全文档

    这个“tomcat7.0全文档”包含了关于如何安装、配置、管理和优化Tomcat7.0的所有必要信息。 一、Tomcat简介 Tomcat是由Apache软件基金会开发的Java Servlet和JavaServer Pages(JSP)容器,它是Java EE Web应用的...

    tomcat7.0-64位

    【标题】"Tomcat7.0-64位"指的是Apache Tomcat服务器的7.0版本,专为64位操作系统设计。Tomcat是Apache软件基金会的一个开源项目,它实现了Java Servlet和JavaServer Pages(JSP)规范,是运行Java Web应用的Web...

    apache-tomcat-7.0.100-windows-x86

    - **Session复制**:通过集群配置,实现在不同Tomcat实例间共享用户会话信息。 8. **集成开发环境(IDE)支持** - Eclipse、IntelliJ IDEA等IDE提供了与Tomcat的集成,方便调试和部署Web应用。 9. **故障排查** ...

    apache-tomcat-7.0.107

    Apache Tomcat 7.0.107 是一个开源的Java Servlet容器,它实现了Java EE Web应用程序规范,特别是Servlet和JSP(JavaServer Pages)标准。这个版本是Apache Tomcat服务器的一个稳定版本,旨在提供高性能、可靠性和...

    tomcat7.0版本

    2. **安装与配置** - **下载与解压**:从Apache官方网站下载apache-tomcat-7.0.63压缩包,解压到指定目录。 - **环境变量设置**:设置`CATALINA_HOME`环境变量指向Tomcat的安装目录。 - **启动与停止**:执行`bin...

    tomcat jndi ssl

    2. "tomcat7.0 http及ssl及集群配置.docx" - 这个文档将涵盖HTTP服务的基础设置,然后深入到SSL配置,可能还会涉及如何设置Tomcat的集群以实现负载均衡和高可用性。 3. "Readme.txt" - 通常包含对压缩包内容的简短...

    tomcat 7.0

    2. **配置管理**:Tomcat的配置主要通过`conf`目录下的文件完成,如`server.xml`定义了服务器的全局配置,包括端口设置、Connector(连接器)配置等;`context.xml`用于配置特定Web应用程序的上下文;`web.xml`是Web...

    tomcat-7.0.109安装包

    Apache Tomcat 7.0.109 是一个开源的Java Servlet容器,它实现了Java EE的Web应用程序规范,特别是Servlet和JSP标准。这个安装包是用于在服务器上部署和运行基于Java技术的Web应用程序的关键组件。以下是关于Tomcat ...

    apache-tomcat-7.0.41

    2. 配置环境变量:根据系统需求设置CATALINA_HOME环境变量指向Tomcat安装目录。 3. 配置服务器:修改conf/server.xml配置文件,设置端口号、默认Web应用目录等。 4. 启动与停止:通过bin目录下的startup.sh或startup...

    apache-tomcat-7.0.85.tar.gz

    Apache Tomcat是一个开源的Java Servlet容器,主要用于实现JavaServer Pages (JSP)、...由于Tomcat是一个功能丰富的服务器,这里只是涵盖了基础部分,更深入的使用可能涉及到集群配置、负载均衡、安全策略等多个方面。

Global site tag (gtag.js) - Google Analytics