`
wangdei
  • 浏览: 374462 次
社区版块
存档分类
最新评论

Apache与Tomcat平台全面解决方案

阅读更多

WEB 服务器解决方案

Apache+Tomcat

 

                                                                    作者:张浦

                                                                    2007-4-26

 

 

1.   概述

1.1.   本文目的

1.2.   环境及文档约定

2.   JDK安装配置

2.1.   安装JDK

2.2.   设置系统JAVA环境

3.   TOMCAT安装配置

3.1.   获取Tomcat

3.2.   安装Tomcat

3.2.1.   安装

3.2.2.   验证安装

3.2.3.   常见问题

3.3.   配置与优化

3.4.   APR整合

4.   APACHE安装配置

4.1.   获取Apache软件

4.2.   Apache安装配置与优化

5.   APACHE+TOMCA整合配置

5.1.   获取JK软件

5.2.   安装编译JK

5.3.   配置JK连接APACHETOMCAT

5.4.   验证配置

6.   完整的配置参考

6.1.   环境变量

6.2.   Tomcat相关配置文件

6.3.   apache相关配置文件

<!--[if !supportLists]--> 1. <!--[endif]--> 概述

<!--[if !supportLists]--> 1.1. <!--[endif]--> 本文目的

描述建立简单高效的 apache 服务器,应用于集成 tomcat 服务。

即: apache+jk1.2+tomcat 部署方案中 apache 的安装配置和优化

<!--[if !supportLists]--> 1.2. <!--[endif]--> 环境及文档约定

操作系统: RedHat AS 4 update 1

硬件环境:普通 PC C4-2.8G/1G 内存

设系统的 IP 地址为: $IP

<!--[if !supportLists]--> 2. <!--[endif]--> JDK 安装配置

JDK 官方网站: http://java.sun.com

<!--[if !supportLists]--> 2.1. <!--[endif]--> 安装 JDK

JDK 版本: jdk1.5.0_05

 

下载地址:

http://192.18.108.219/ECom/EComTicketServlet/BEGIN5EA4351D3E051D464E9716D18FE4FF31

/-2147483648/2093779515/1/798890/798650/2093779515/2ts+/westCoastFSEND

/jdk-1.5.0_11-oth-JPR/jdk-1.5.0_11-oth-JPR:3/jdk-1_5_0_11-linux-i586-rpm.bin

 

# cd /tools

# wget http://192.18.108.219/ECom/EComTicketServlet/BEGIN5EA4351D3E051D464E9716D18FE4FF31/

-2147483648/2093779515/1/798890/798650/2093779515/2ts+/westCoastFSEND

/jdk-1.5.0_11-oth-JPR/jdk-1.5.0_11-oth-JPR:3/jdk-1_5_0_11-linux-i586-rpm.bin

 

# cd /tools

# chmod +x jdk-1_5_0_11-linux-i586-rpm.bin

# ./ jdk-1_5_0_11-linux-i586-rpm.bin

# rpm –ivq jdk-1_5_0_11-linux-i586.rpm

 

<!--[if !supportLists]--> 2.2. <!--[endif]--> 设置系统 JAVA 环境

Java 环境的设置是为了支持 tomcat 服务器的运行,主要需要设置的环境变量是 JAVA_HOME, jdk 的安装路径。默认安装 jdk 的目录是 /usr/java/ jdk1.5.0_11

 

设置环境变量到系统环境配置文件 /etc/profile

 

# vi /etc/profile

加入: exprot JAVA_HOME=/usr/java/ jdk1.5.0_11

# source /etc/profile

 

<!--[if !supportLists]--> 3. <!--[endif]--> TOMCAT 安装配置

Tomcat 官方网站: http://tomcat.apache.org/

<!--[if !supportLists]--> 3.1. <!--[endif]--> 获取 Tomcat

本文使用 Tomcat-5.5.17

下载地址: http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.tar.gz

如果目标服务器可以上公网,可以直接在目标服务器下载该版本 tomcat ,标准发行版本比较小,只有几兆而已。

 

$ cd /tools

$ wget http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.tar.gz

 

<!--[if !supportLists]--> 3.2. <!--[endif]--> 安装 Tomcat

<!--[if !supportLists]--> 3.2.1. <!--[endif]--> 安装

首先在获取 tomcat 软件版本后,直接解压,并拷贝到对应的安装目录就可以了,一般 linux 下安装目录可以设置在 /usr/local 下面,现在设 Tomcat 安装目录为 $CATALINA_HOME

 

# cd /tools

# tar –xzvf apache-tomcat-5.5.17.tar.gz

# cp apache-tomcat-5.5.17 /usr/local/tomcat-5.5.17

即: $CATALINA_HOME=/usr/local/tomcat-5.5.17

 

<!--[if !supportLists]--> 3.2.2. <!--[endif]--> 验证安装

请确保系统的 8080 端口没有被占用,因为 tomcat 默认使用 8080 端口。

# $CATALINA_HOME/bin/startup.sh

 

启动浏览器(如 IE ),输入 http://$IP:8080

如果显示了有 tomcat 图标的 tomcat 首页的话,表示 tomcat 服务器正常 .

 

<!--[if !supportLists]--> 3.2.3. <!--[endif]--> 常见问题

<!--[if !supportLists]--> 1.         <!--[endif]--> 确保服务器操作系统防火墙关闭

<!--[if !supportLists]--> 2.         <!--[endif]--> 确保端口没有被其他程序占用,验证方法是 :

关闭 tomcat 服务器( $CATALINA_HOME/bin/shutdown.sh

telnet $IP 8080

如果仍然能连通,说明 8080 端口已经被其他程序使用。

<!--[if !supportLists]--> 3.3. <!--[endif]--> 配置与优化

我的其他文章参考: TOMCAT-5.5.X优化配置

 

<!--[if !supportLists]--> 3.4. <!--[endif]--> APR 整合

我的其他文章参考: TOMCAT-5.5.X整合APR

 

<!--[if !supportLists]--> 4. <!--[endif]--> APACHE 安装配置

<!--[if !supportLists]--> 4.1. <!--[endif]--> 获取 Apache 软件

Apache2.0.59 http://httpd.apache.org

 

本例使用 linux source 包版本

可以直接下载:

# cd /tools

# wget http://httpd.apache.org/xxxx/xxxx/ apache-2.0.59.tar.gz

<!--[if !supportLists]--> 4.2. <!--[endif]--> Apache 安装配置与优化

我的其他文章参考: Apache安装配置与优化

<!--[if !supportLists]--> 5. <!--[endif]--> APACHE+TOMCA 整合配置

官方参考: http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

<!--[if !supportLists]--> 5.1. <!--[endif]--> 获取 JK 软件

下载地址:

http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/v1.2.0/src/

jakarta-tomcat-connectors-jk-1.2.0-src.tar.gz

# cd /tools

# wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/v1.2.0/src/

jakarta-tomcat-connectors-jk-1.2.0-src.tar.gz

<!--[if !supportLists]--> 5.2. <!--[endif]--> 安装编译 JK

# cd /tools

# tar –xzvf jakarta-tomcat-connectors-jk-1.2.0-src.tar.gz

# cd tomcat-connectors-1.2.20-src

# cd native

# ./configure --with-apxs=$APACHE_HOME/bin/apxs  // 使用 apache apxs

# make

# make install

 

成功安装完成后,会在 $APACHE_HOME/modules 中发现 mod_jk.so 文件。

<!--[if !supportLists]--> 5.3. <!--[endif]--> 配置 JK 连接 APACHE TOMCAT

<!--[if !supportLists]--> 1.  <!--[endif]--> 配置 worker.properties

$APACHE_HOME/conf 下建立 worker.properties

# vi worker.properties

写入:

       # Define 1 real worker using ajp13

worker.list=tomcat

# Set properties for worker1 (ajp13)

worker.tomcat.type=ajp13

worker.tomcat.host=127.0.0.1

worker.tomcat.port=8009

worker.tomcat.cachesize=10

worker.tomcat.cache_timeout=600

    

<!--[if !supportLists]--> 2.  <!--[endif]--> 配置 JK 连接

配置 $APACHE_HOME/conf httpd.con 文件

# vi httpd.conf

写入:

# Load mod_jk module

LoadModule jk_module modules/mod_jk.so

# Where to find workers.properties

JkWorkersFile /usr/local/apache2.0.59/conf/workers.properties

# Where to put jk logs

JkLogFile /usr/local/apache2.0.59/logs/mod_jk.log

# Set the jk log level [debug/error/info]

JkLogLevel error

# Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format

JkRequestLogFormat "%w %V %T"

JkShmFile /usr/local/apache2/logs/mod_jk.shm

 

# Send jsp,servlet for context * to worker named tomcat

JkMount /dwr/* tomcat

JkMount /*.jsp tomcat

JkMount /*.mvc tomcat

JkMount /*.do tomcat

JkMount /captcha.jpg tomcat

JkMount /j_acegi_security_check tomcat

JkMount /j_acegi_logout tomcat

JkMount /admin/adminlogout tomcat

JkMount /WEB-INF/* tomcat

 

<!--[if !supportLists]--> 5.4. <!--[endif]--> 验证配置

确保 tomcat 配置正确,并能正常启动。

启动 tomcat ,然后启动 apache ,测试是否配置成功。

      

 

<!--[if !supportLists]--> 6. <!--[endif]--> 完整的配置参考

<!--[if !supportLists]--> 6.1. <!--[endif]--> 环境变量

<!---->export JAVA_HOME =/ usr / java / jdk1 . 5 . 0_05

export PATH
= $JAVA_HOME / bin : $PATH

export JAVA_OPTS
= " $CATALINA_OPTS -Xms700m -Xmx700m
-Djava.library.path=/usr/local/apr/lib
"

 

<!--[if !supportLists]--> 6.2. <!--[endif]--> Tomcat 相关配置文件

Server.xml

<!---->< Server  port ="8005"  shutdown ="SHUTDOWN" >

  
< GlobalNamingResources >

    
<!--  Used by Manager webapp  -->

    
< Resource  name ="UserDatabase"  auth ="Container"

              type
="org.apache.catalina.UserDatabase"

       description
="User database that can be updated and saved"

           factory
="org.apache.catalina.users.MemoryUserDatabaseFactory"

          pathname
="conf/tomcat-users.xml"   />

  
</ GlobalNamingResources >

  
< Service  name ="Catalina" >

    
< Connector  port ="8009"

               maxTreads
="500"  minSpareThreads ="10"  maxSpareThreads ="50"

               acceptCount
="50"  connectionTimeout ="60000"

               enableLookups
="false"  redirectPort ="8443"  protocol ="AJP/1.3" />

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

      
< Realm  className ="org.apache.catalina.realm.UserDatabaseRealm"

             resourceName
="UserDatabase"   />

      
< Host  name ="localhost"  appBase =""

       unpackWARs
="true"  autoDeploy ="true"

       xmlValidation
="false"  xmlNamespaceAware ="false" >

        
< Context  path =""  docBase ="/www/xxxxx/site/web"  reloadable ="true"  debug ="0" />

      
</ Host >

    
</ Engine >

  
</ Service >

</ Server >

 

<!--[if !supportLists]--> 6.3. <!--[endif]--> apache 相关配置文件

<!--[if !supportLists]--> 1. <!--[endif]--> httpd.conf

<!---->Include conf/includes/*.conf

ServerRoot /usr/local/apache2.0.59

DocumentRoot /www/xxxxx/site/web

DirectoryIndex index.jsp index.htm index.html

User  webuser

Group cvs

< IfModule  prefork.c >

ServerLimit      800

MaxClients       800

StartServers     5

MinSpareServers  5

MaxSpareServers 10

</ IfModule >

 

< IfModule  worker.c >

StartServers         2

MaxClients         150

MinSpareThreads     25

MaxSpareThreads     75

ThreadsPerChild     25

MaxRequestsPerChild  0

</ IfModule >

 

MaxRequestsPerChild 0

ErrorLog logs/error_log

< Directory  />

    Options FollowSymLinks

    AllowOverride None

</ Directory >

 

 

<!--[if !supportLists]--> 2. <!--[endif]--> conf/includes/deflate.conf

<!---->AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css

# Compress everything except images

< Location  />

# Insert filter

SetOutputFilter DEFLATE

# Netscape 4.x has some problems

BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems

BrowserMatch ^Mozilla/4\.0[678] no-gzip


# MSIE masquerades as Netscape, but it is fine

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images

SetEnvIfNoCase Request_URI \

\.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content

Header append Vary User-Agent env=!dont-vary

</ Location >

 

<!--[if !supportLists]--> 3. <!--[endif]--> conf/includes/ mod_jk.conf

<!---->#  Load mod_jk module

LoadModule jk_module modules
/ mod_jk . so

#  Where to find workers.properties

JkWorkersFile 
/ usr / local / apache2 . 0.59 / conf / workers . properties

#  Where to put jk logs

JkLogFile 
/ usr / local / apache2 . 0.59 / logs / mod_jk . log

#  Set the jk log level [debug/error/info]

JkLogLevel error

#  Select the log format

JkLogStampFormat 
" [%a %b %d %H:%M:%S %Y]  "

#  JkOptions indicate to send SSL KEY SIZE,

JkOptions 
+ ForwardKeySize  + ForwardURICompat  - ForwardDirectories

#  JkRequestLogFormat set the request format

JkRequestLogFormat 
" %w %V %T "

JkShmFile 
/ usr / local / apache2 / logs / mod_jk . shm

 

#  Send jsp,servlet for context * to worker named tomcat

JkMount 
/ dwr /*  tomcat

JkMount 
/*. jsp tomcat
分享到:
评论

相关推荐

    最新版linux apache-tomcat-10.0.2.tar.gz

    Tomcat与Java标准版(Java SE)环境配合使用,为用户提供了一个轻量级的Web服务器和应用服务器解决方案。Tomcat 10.0.2是该系列的最新版本,它基于Java EE 9(现在称为Jakarta EE 9)平台,这标志着从Java EE到...

    apache-tomcat-8.5.31.zip

    标签“apache”表明这是与Apache组织相关的技术,而不仅仅是Tomcat,暗示可能还有其他的Apache项目,如HTTP Server、Apache Commons库等,与Tomcat协同工作,提供更全面的Web服务解决方案。 总的来说,Apache ...

    apache-tomcat-8.5.72.rar

    Tomcat作为Servlet和JSP容器,将这两者完美结合,为开发者提供了轻量级的Web服务解决方案。 Apache Tomcat 8.5.72是该软件的一个特定版本,每个版本都有可能包含性能优化、安全修复和新的功能。例如,8.5.x系列可能...

    apache-tomcat-8.5.46.zip

    了解这些问题的解决方案,以及如何通过修改Tomcat的配置文件来优化性能,是提高开发效率的关键。此外,Tomcat还支持集群和负载均衡,这对于大型企业级应用来说非常重要。 总的来说,"apache-tomcat-8.5.46.zip"是...

    apache-tomcat-9.0.55-windows-x64位官方版

    10. **社区支持**:Apache Tomcat拥有庞大的社区和用户群,遇到问题时可以参考官方文档、论坛讨论或Stack Overflow等资源找到解决方案。 总的来说,"apache-tomcat-9.0.55-windows-x64位官方版"是一个强大且稳定的...

    apache-tomcat-7.0.39

    在部署和运行过程中,如果有任何疑问或遇到问题,查阅这个文档可以帮助你找到解决方案。 Tomcat 7.0.39支持多种部署方式,例如通过Web管理控制台(`http://localhost:8080/manager/html`,需要配置管理员账号)或...

    apache_tomcat_6.0.14

    8. **社区支持**:Apache Tomcat拥有庞大的用户社区,这意味着遇到问题时可以找到丰富的资源和解决方案。 在Apache Tomcat 6.0.14这个特定版本中,可能包含以下改进和修复: - 安全更新:此版本可能包含了对已知...

    apache-tomcat-8.0.14

    Tomcat可以与其他应用服务器如JBoss、WebLogic等集成,或者与Spring Boot、Spring MVC等框架一起使用,提供更全面的企业级应用解决方案。 综上所述,Apache Tomcat 8.0.14是开发和部署Java Web应用的基础,其配置、...

    绿色解压版apache-tomcat-6.0.33

    总结起来,绿色解压版Apache Tomcat-6.0.33是一个方便快捷的Java Web服务器解决方案,尤其适合个人开发、学习或临时测试环境。但出于安全和性能考虑,对于长期和大规模的生产环境,推荐使用更现代且全面支持的版本。

    apache-tomcat-8.5.50.zip

    9. **集成其他服务**:Tomcat可以与各种应用服务器(如JBoss、GlassFish)或数据库(如MySQL、Oracle)配合使用,提供更全面的企业级解决方案。 10. **社区支持**:由于Apache Tomcat是开源项目,它拥有庞大的...

    Professional Apache Tomcat 6

    12. **第12章:Tomcat与IIS** - 探索了Tomcat与Microsoft IIS的集成方案,适用于Windows环境。 13. **第13章:JDBC连接性** - 介绍了如何通过JDBC在Tomcat中实现数据库连接,包括数据源的配置。 14. **第14章:...

    Professional Apache Tomcat 5

    4. **社区支持**:作为Apache项目的一部分,Tomcat拥有庞大的开发者社区,可以获得丰富的文档、教程和解决方案。 5. **免费开源**:Tomcat是完全免费的开源软件,可以自由地用于商业或非商业项目,降低了项目的成本...

    apache-tomcat-9.0.1-fulldocs.tar.gz

    Apache Tomcat 9.0.1 Fulldocs是Apache软件基金会发布的Tomcat服务器的文档集合,包含了详尽的Java API文档(Javadocs)和其他重要的技术文档,为开发者提供了全面了解和使用Tomcat 9.0.1版本的指南。 Tomcat是一个...

    apache-tomcat-7.0.96-windows-x64

    Apache Tomcat 7.0.96 是...总的来说,Apache Tomcat 7.0.96 是Java Web开发和部署的关键工具,尤其对于那些寻求轻量级、高效解决方案的开发者。通过理解其结构和配置,开发者能够有效地管理和维护自己的Web应用环境。

    apache-tomcat-8.5.35-windows-x86

    总的来说,Apache Tomcat 8.5.35提供了一个轻量级且易于部署的平台,用于运行和管理Java Web应用程序,特别是对于那些不需要全面功能的企业级应用服务器,如JBoss或WebLogic的场景。它的32位免安装版本特别适合个人...

    web-apache-tomcat-7.0.12-windows-x86.zip

    Apache Tomcat 7.0.12是一款广泛使用的开源软件,是Java Servlet、JavaServer Pages (JSP) 和Java EE的实现...对于Windows x86环境,这个版本的Tomcat提供了一个易于安装和管理的解决方案,满足了各种开发和部署需求。

    Apache-tomcat-6.0.53(Windows32位)

    6. **集群和负载均衡**:虽然Tomcat本身不提供完整的集群解决方案,但可以通过与其他服务器(如Apache HTTP Server或Nginx)配合,实现负载均衡和故障转移,提升应用的可用性和可扩展性。 7. **日志和监控**:...

    apache-tomcat-8.0.36-fulldocs.tar.gz

    6. **FAQ和常见问题** - 解答了用户在使用Tomcat过程中可能会遇到的常见问题,提供快速解决方案。 7. **Javadoc** - 对Java Servlet API和JavaServer Pages API的详细说明,这是开发Java Web应用的基础。 8. **...

    apache+tomcat+phpmyadmin打包

    总结起来,"apache+tomcat+phpmyadmin打包"是构建一个包含Web服务器、Java应用服务器和数据库管理工具的全面环境,适合开发和部署混合型的Web应用。这个打包方案提供了一站式的解决方案,使得管理和维护PHP、Java...

Global site tag (gtag.js) - Google Analytics