我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > 整合apache和tomcat 服务器
总共48086条微博

动态微博

查看: 2043|回复: 2

整合apache和tomcat 服务器

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-04-20 17:51:20 |只看该作者 |倒序浏览
    Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。Apache成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。 " U2 A* C3 C/ _4 v0 z. I) U5 @
      
    * N1 p: b; A! \1 u9 E+ O  几乎所有的Linux发布都安装Apache作为默认配置。SuSE7.1甚至预安装有包括各种高级模块选项的Apache,如PHP3,mod_perl和LDAP等等。用户会惊奇地发现系统安装成功就会有一个功能强大的Web服务器可供选择。虽然安装Apache并不是非常简单,但是如果有具有新的特性或安全补丁的Apache发布,则下载源代码包并编译新的Apache是值得的。
      t7 K2 ~; b' W: O9 R+ {   " @3 {- {/ [1 H( i" K: A, n5 ^
      Apache不但具有庞大的用户群基础,并且有丰富的配置使用文档。Apache提供服务器端对脚本技术的支持,比如Perl、PHP等,Apache结合使用Apache JServ可以实现对java servlets及JSP的支持。Apache的很多模块实现安全方面的防护:如mod_auth提供对对服务器上数据进行适当的保护,而SSL模块则用来保护服务器和客户端之间的通信安全。 + o  [1 Z; i+ L5 X
      
    3 \2 I; ?9 _7 r" l4 q  下面我们再介绍一下Tomcat服务器软件,Tomcat是Sun和Apache合作做出来的JSPServer,支持Servlet2.2及JSP1.1等版本。笔者建议大家使用Tomcat,而且Tomcat未来将会取代JServ,成为Apache主要的Servlet&JSPEngine。Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apache中,这样就更可以发挥在servlet中,非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。
    3 e% J5 U0 u& W9 A! G6 B6 U6 g% T) Q9 s   ) g; Y$ y% `, U- J1 P
      作为WEB服务器扩展的Tomcat服务器有一些问题需要说明:
    0 ^' ]  @; z5 y$ e) s- u   : c( L9 h$ H1 G, Z8 m+ ^" |6 F6 F
      当处理静态页面时,Tomcat不如Apache迅速。
    % [/ T& ~  o" P  Tomcat不象Apache一样可配置。
    ' q+ e. _* Z: L0 t( O  Tomcat不象Apache一样强壮。
    0 a; k$ p0 a4 y9 q" w+ V  
    9 J" z5 f! f; V5 M: N0 B% m9 I  基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面。
    $ k& `) A/ J( V   / B7 z; o9 X- y. f, Z
      采用apache->tomcat这样的结构才具有更特出的优点,主要体现在具有更好的可扩展性和安全性。这种类型的站点的主要特点是每一个页面都可能是动态生成的,但这些数据中主要部分还是静态的(比如,各类图像GIF、JPG、PNG,流式媒体等),这种结构的优点是兼有可扩展性和安全性。 2 W# r" w6 L" U' u: ^
      
    8 c( \3 d0 _" }5 X  下面以solairs8为例,免费下载Solaris版的Apache1.3.27,Tomcat4.1.12来说明安装配置WEB服务软件apache和应用服务软件tomcat(包括JDK),其它平台可以类比。
    8 n2 K7 l( y. h2 }   : }. V/ \2 Z; B1 R. c
      注意:下载的Apache、Tomcat的版本与操作系统的类型有关。 . q% s0 R. u* b( r
       $ p6 h  L) C4 X0 q2 e$ }
      一、应用环境
    3 ^$ L& w! h4 K7 T0 ]4 t3 [: B8 @  操作系统为Solaris8,应用环境为Java1.3(假定安装在/usr/java1.3目录下)、perl5.6(假定安装在/usr/local/bin目录下)和gzip(假定安装在/usr/local/bin目录下)。
    ; v; i  {! Y& A   0 H% q4 J2 F* b7 `
      二、软件包的下载、编译与安装 8 y0 o' I2 B6 W" V
      1、下载地址   l% C* y! o( M- N8 r' @2 Y
      
    : x4 |4 v' E/ x- S" n8 S% R  在http://www.apache.org可下载Apache源代码软件包apache_1.3.27.tar.gz
    # J9 D, a) a! K- u5 A9 A7 k$ V' R  在http://jakarta.apache.org/builds/tomcat/release/v4.1.12/src/可下载Tomcat源代码软件包jakarta-tomcat-4.1.12-src.tar.gz。
    - n) Q% y. i. y5 ^0 ]% _  在http://jakarta.apache.org/builds ... elease/v4.1.12/bin/可下载已编译的Tomcat应用软件包jakarta-tomcat-4.1.12.tar.gz。 % ^; E0 O: Q9 p  J
      
    3 u: f6 ?, t' G4 \( u: i  2、编译与安装 ( w) h/ X- h' ]7 u& v9 j% |  G" s
      
    ( D" f* x, q) N, G# d$ ]  假设各软件包已下载到当前的某个工作目录(如:/home/tmp)下,Apache和Tomcat将安装在/home目录下。在当前目录我们可以进行如下操作。 : [- S5 ]7 {' a' j- A
      
    * x2 a" N* t% z: s# F- R8 V2 u  1)编译和安装Apache应用服务 ; ~# B$ t( _7 I  C) g
      
    9 O! j; F* ]5 K4 r( d  ①解包 + X" l6 T" ^& _
      
    - |: L. z  A8 i6 ?! d5 q  $/usr/local/bin/gzip-dc./apache_1.3.27.tar.gz|tarxf- : V  B. P1 x+ H
       $ P3 C+ q4 G2 u' M" u) `0 {- {
      ②编译
    5 L9 p5 t& e9 X6 ], K/ N% j   % g! x$ h  i0 v- }; V' }8 f
      $cd apache_1.3.27
    7 [3 \2 }& }. @0 K# u  $./configure--prefix=/home/apache-1.3.27
    : h+ n2 S) ~: A. ^! w  --with-perl=/usr/local/bin/perl--enable-module=so ) U& a: g' N; {! r' S& v) V, N
         e. S7 k2 b) [6 g: \% j" |
      假设perl的解释命令安装在/usr/local/bin目录下,Apache服务安装在/home/apache-1.3.27目录下。
    6 P( X, k( E6 S; i  
    / W5 H6 p5 B6 ^  $make
    . Y/ [7 N( e! c6 }$ R' `  
    , q* q& g3 F# ^$ E( Y8 _- t9 ^  ③安装
    8 P2 p) A/ q8 ]   , o7 C! @. v4 l# t& d
      $su 8 i6 F! L. @7 h9 B& d
      #make install 2 ~0 T" K1 s" L4 \1 U/ E% e' {
      
    2 x6 k3 l; y# g. J  2)编译与安装mod_jk插件
    9 `( o" J, I/ |; h  
    4 r8 f  \6 k0 i! f; V: p  ①解包 7 E5 c% [; J0 S" L7 l
       # _& h# e8 J) y0 d/ V
      $/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12-src.tar.gz|tarxf- # {4 ^; d$ E0 I
      
    + x8 a8 L$ ]; ^  V) Z  ②编译
    ! E9 k1 ]8 d: g4 U, ?2 |1 _  
    + ?$ q+ E3 V% x& i0 c9 A, |/ T- T7 K  $cd jakarta-tomcat-4.1.12-src/src/native/apache1.3
    . ?8 ]. D3 Q( e* C% G4 u8 z  $/home/apache-1.3.27/bin/apxs-omod_jk.so-D SOLARIS-I../jk-I/ ' @9 b4 X2 f7 M) f3 ~9 y
      usr/java1.3/include-I/usr/java1.3/include/solaris-lposix4-c*.c../jk/*.c * F! n/ w/ k1 _6 F& Y$ F3 }9 |
       # @: d* _9 P5 E1 Y3 T% g( r
      假定Java安装在/usr/java1.3目录下。 3 v6 ?! e* j  r8 _8 I
      
    ( j. C% b( |* k7 P3 |  ③安装 9 R. ~# u5 Y) Z. d
       : a, `. ]5 ]( \. e; |3 L
      $su
    0 g' }: |8 |; G. p9 j. f+ O  #/home/apache-1.3.27/bin/apxs-i-a-njk mod_jk.so 5 n+ O$ N; k# U( n' E% V6 L
      cp mod_jk.so/home/apache-1.3.27/libexec/mod_jk.so 7 @& s# I7 k$ p5 L9 e0 m1 l  V4 o) @
      chmod 755 /home/apache-1.3.27/libexec/mod_jk.so
    & p% u$ T" P. S0 z* b6 m( D' i  [activating module`jkin/home/apache-1.3.27/conf/httpd.conf]
      _  O6 g; A9 P' P+ b0 R  
    8 x: v' ^6 N! ~2 a2 Z  3)安装Tomcat服务 7 [$ o8 P& T4 e1 s/ W, b+ h' k
       7 H  e  \( t. C( V
      用超级用户身份把已编译的Tomcat4.1.12解包到/home目录下即可。
    + B3 Y, i0 }1 [  
    . Z- _  a2 l9 J  w6 g; X8 y  $su
    ; k: K1 `2 y. K' h& s5 o8 O# u2 z  #/usr/local/bin/gzip-dcjakarta-tomcat-4.1.12.tar.gz|(cd/home;tarxf-) ) H5 y% |; \* s6 d' I/ _7 x
       6 l  X8 M( a5 W2 j. M: v8 P. F4 y
      3、参数配置
    ; m& L) Q$ ]" z1 O  
    ( H* A$ E% r; c# J  (1)配置Apache服务 ' |2 C( h% b+ j& \  J
       % h8 S/ y3 F, Z+ {
      用vi命令打开Apache的配置文件httpd.conf。 . j  ~) d) g; V! |+ L/ u& r+ ~  x$ q
       5 D$ o% I# X2 @' J7 m
      #cd /home/apache-1.3.27/conf 5 s) m- I) q+ ?7 b4 ~* x$ L8 s
      #vi httpd.conf ' _# ?% [+ I% y
       5 B7 _: f& t1 z$ F: {- r
      在末尾添加以下内容。
    6 S! ~; f% }' b0 M# U   3 x; O' H: ^8 l* T) Y
      JkWorkersFile/home/jakarta-tomcat-4.1.12/conf/workers.properties % r. J9 o6 W0 @! @+ ]# k" ?
      JkLogFile/home/apache-1.3.27/logs/mod_jk.log 0 ~/ U. A2 G9 O. P& D/ G
       $ c% N+ W+ \- v, e7 D
      注意:日志文件可根据具体情况调整。
      ~" A; p0 w+ s! r  
    6 |! z2 x1 W7 n% z  |5 Q7 |  JkLogLevelwarn
    / p# L6 N( D" e7 A0 r( s  JkMount/*.jspajp13 ; D3 y' Y# G% V4 Y; [8 N
      JkMount/servlet/*.jspajp13
    : v6 N5 z% A4 G  o1 x, m1 {4 x) f4 `   . U1 {* O' F; P9 a3 y2 i! ]' z
      (2)配置Tomcat服务 , m- j4 D2 d+ q3 v2 [" \
       * S9 k, H, o+ ?; w+ O/ z- V
      首先,修改server.xml文件。
    2 s. d3 }0 a+ v1 D' w  l. P   " B7 A5 ]) C) x: ?, {/ |
      这里假定存放Apache的Web网页的根目录为/home/htdocs。
    7 u. q: {4 U2 B  
    $ _: S1 H2 q' g0 \) W' O4 g  #cd /home/jakarta-tomcat-4.1.12/conf % h( e3 V4 ]' w. j
      #vi server.xml 7 R) [  e; j8 p* w9 g
       & d& d  `: b. Y- C. |/ N3 Q, m/ h0 ?, j
      然后,在Connectors部分嵌入如下内容。
    ( C+ g4 H6 y+ \$ S7 |7 q$ S  
    " R& U& U9 U2 R8 l( o5 t3 _  <ConnectorclassName="org.apache.tomcat.service.
    * k( K& i# |" O; [' P' {* G  PoolTcpConnector"><Parametername="handler"
    . {7 M* y8 v6 v9 Y  value="org.apache.tomcat.service.connector.Ajp ! B) g/ x" k5 |! R# O2 ^
      13ConnectionHandler"/> 3 m6 s# Z/ X) x( E9 ?% R$ o
      <Parametername="port"value="8007"/>   i# k" w" i( n" ?! M. r! q
      </Connector> + l9 ^# y% J+ }: Q0 Q( t8 y
       ' M# a+ }  Q; r* j
      接着,在SpecialWebapps部分嵌入如下内容。
    9 ]  W0 [, Y$ v/ n1 u6 o. r   8 X# `3 c8 q2 {1 p: J3 }
      <Contextpath=""
    ( S5 d! Q2 a( C* p, D  docBase="/home/htdocs" ! @+ }5 k# b& y1 @6 U1 e8 I/ Y+ j
      debug="0"> 0 S7 W9 i% `, w5 i# ]& ?. p5 f
      </Context> 2 j% D7 d. b1 C4 N
       " B! M: g$ T, G0 U3 g0 q
      修改workers.properties文件。 $ C$ Y$ Z: @. ~" s# [
       ; U; }% i$ h! A3 ]# j5 F
      #vi workers.properties
    $ @& K1 b5 b, v/ j. l' _( n4 s  ...   T5 A, y2 E. h: S& m2 G
      workers.tomcat_home=/home/jakarta-tomcat-4.1.12
    0 h4 X% j8 g/ F0 c, ^! S  ...
    # M1 r. K% ]8 ?3 P- \+ `1 N  workers.java_home=/usr/java1.3
    ' b4 h# U. h7 V  ...
    * X5 Z, y# B. z9 _  ps=/
    & D& K; p% L) J, L  ...
    % ]. x* J; C7 U) M   - u3 k7 r$ s* a' Y) R$ V
      随后,修改Tomcat启动和关闭命令文件。 , u0 C7 k5 G- u
       ! `0 U9 [2 E& B7 q% V5 |. y
      #cd ../bin 1 c4 [7 k3 F% P( ^. T0 C
      #vi startup.sh
    # P% R; ]# M: O) I6 p   / G9 \7 ~( Z4 W" _5 P# I
      再在"BASEDIR=`dirname$0`"语句前嵌入如下内容。
    ( U0 A" Q, J6 |4 L( {" s7 I  
    5 f1 n, B+ K5 @! H* h  PATH=/usr/java1.3/binPATH:. . k8 f. S6 e) e5 M, W
      JAVA_HOME=/usr/java1.3
    " w" `) g. l6 T% Y5 @+ e  e  TOMCAT_HOME=/home/jakarta-tomcat-4.1.12
      c- [( W. H* Z% I  U- Q  Export PATH JAVA_HOMETOMCAT_HOME
    ) {3 v& {, {' W9 P6 z9 F  #vi shutdown.sh ) x+ k5 d4 z% N7 M- Y" Z
       " ]7 O% q2 {5 Y. i
      最后,在"BASEDIR=`dirname$0`"语句前嵌入如下内容。
    : s" W  _% _" t% V: q2 ?% ]9 M   " q, [  s, ?& U' N5 S# A- H
      PATH=/usr/java1.3/binPATH:. / o0 X3 v4 {% k, c( o8 b. I
      JAVA_HOME=/usr/java1.3 " f; k' A9 A' o1 d( b+ o
      TOMCAT_HOME=/home/jakarta-tomcat-4.1.12
    4 _' r4 S1 J3 b% z  Export PATH JAVA_HOMETOMCAT_HOME ( E' x* H, H$ q+ `7 d/ n- |
      
    9 n# I* n2 ^+ S' Y3 {/ {  至此,Apache和Tomcat服务器软件安装成功,上面是在UNIX(Solaris)平台下构建JSP网站的基本配置。Apache与Tomcat结合支持JSP动态网页开始是通过一个名为"mod_jserv"的插件来实现的,采用这种Apache/Jserv方式配置参数十分复杂,运行效率很低,而且对SSL(一种加密传输方式)的支持也不理想,因此Jakarta工作组新近开发了"mod_jk"插件,它很好地弥补了mod_jserv的缺点,而且能支持Apache以外的多种Web服务。关于这种Apache/Jk方式的实现原理,请参考有关资料。 * [6 w' ?6 z6 F/ @1 q1 O
       ) W0 P9 e  M% ^# B$ Z4 w
      三、UNIX或LIUNX环境下Web服务器的安全管理与维护 . {2 I/ I5 m, z* [/ E( [% s
      1、Apache和Tomcat的启动和关闭
    1 L8 n; e  g7 o; u/ F- i! ?  #/home/apache-1.3.27/bin/apachectl start    启动
    1 K6 D0 V. g; ^! N9 u, I( [  #/home/apache-1.3.27/bin/apachectl stop     关闭
    ; l. @- j3 b: F% R' R) |9 w  #/home/jakarta-tomcat-4.1.12/bin/startup sh   启动 0 h) K. s6 _) i6 H; T: m
      #/home/jakarta-tomcat-4.1.12/bin/shutdown sh  关闭 6 P1 U# c1 \7 W* T
      
    , w' p- M: l# o  2、Apache和Tomcat的web服务器的安全管理
    0 v+ t% M* o9 S6 e% x" U   , W6 A. R7 j9 [' U
      1)Apache和Tomcat都具有支持安全Socket层(SSL)的功能
    ) u9 ~8 j+ S, @! Q   * R2 D& G: ^# m) i
      在Tomcat中声明安全性,WEB应用程序的安全性主要在相应的Web.xml中设置,Tomcat支持的鉴权机制为HTTP基本鉴权机制BASIC和基于表单的鉴权机制FROM(JSP网站)。
    7 `% w* [. G$ C% _& u, j9 r  
    ; j! `( i$ _! W# Y6 _  过滤是Tomcat 4的新功能,能够用过滤器来实现以前使用不便的或难以实现的功能,这些功能包括: * A. R- U. H' s( Y- t$ o8 h
       9 d  E: k1 m6 L. y) {$ E
      资源访问(Web页、JSP页、servlet)的定制身份认证;
    ) e" U% N7 T' ?8 W% u/ ^  应用程序级的访问资源的审核和记录; 9 H; d; |7 N% n# ]$ M
      应用程序范围内对资源的加密访问,它建立在定制的加密方案基础上; Q1 r; p* j! g& Y! A3 ~  n: x

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    红红火火恍恍惚惚

    45

    主题

    0

    听众

    142

    金钱

    三袋弟子

    该用户从未签到

    沙发
    发表于 2014-04-20 22:02:23 |只看该作者
    好复杂的说O(∩_∩)O哈哈~
    回复

    使用道具 举报

    45

    主题

    5

    听众

    119

    金钱

    三袋弟子

    该用户从未签到

    板凳
    发表于 2014-04-21 10:45:32 |只看该作者
    表情 没处理好
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表