|
|
在CentOS 6.3环境下Apache整合jsp的步骤记录。1.安装jsk 解压
. L0 H' R5 d3 @( s- n: A : U0 |! e$ s) U
tar -xvf jdk.1.6..tar.gz 解压
; D& _6 h3 O$ k( i: b 8 B2 |) a1 {& H& {
mv jdk.1.6 jdk 将jdk目录名称简化
1 r$ i9 o, l) z' N3 o9 y 9 A; A) T* l3 `6 }/ t
mv jdk /usr/local/ 将jdk移动到/usr/local/下
: s: E4 b4 X4 T. w8 B3 m6 T7 w, j' p
; w$ y' c5 v0 C/ H3 k; n- g+ G2.解压安装apache 2.2.4
7 v7 I( h" H6 Z) w$ Y , D/ s4 z" F% N& w
./configure --prefix=/usr/local/apache2 \ 指定apache的安装目录
% `# v6 m9 T$ g+ S# v* z" s' C / F3 F& z: `; K6 T, j' R
--enable-so \ 开启动态加入模块功能
. M3 x* [9 k$ s( U) z. H 2 g% F! c4 b7 c1 U, s
--enable-mods-shared=most \ 开启大部分模块
- _/ s" ]: o: a8 j" z; ] 2 k$ x, ]& t8 a/ x% B" f) c
--enable-proxy \ --enable-proxy-connect \
) ?4 N: P: Y9 ~: p# p" G9 ` ( p3 p( h& o4 e7 O- _
--enable-proxy-ftp \# y0 b7 J" `* l" R3 t+ p
! m9 }/ e- c7 ^. w' ~" S5 d, K
--enable-proxy-httpmake && make install 编译 与安装
( Z- J. I4 W r" p/ b2 l3 f
! x8 f7 `/ }1 C3 jcp /usr/local/apache2/bin/apachectl /etc/init.d/httpd5 i& |- r/ K+ G" m
# B. I6 F/ Y3 f5 n3 B5 u; [
ln -s /etc/init.d/httpd /etc/rc3.d/s90httpd 设置开机自动启动
. e- L. K0 E7 n# i 4 K: }! [- ^9 K( ]
3.解压tomcat% ~# f$ }4 s6 j$ v. \2 H# H7 s# b
4 c9 |7 O) M# n% |% ]' G% U+ Itar -xvf tomcat.7.0.tar.gz! d4 Z. j" j) [
4 b( J; b# D. Q- t% X; Nmv apache-tomcat.7.0 tomcat% i x5 C* t4 v
- Q: m) f$ r8 `* X% c0 O3 w
mv tomcat /usr/local/$ w5 g3 l5 V) z; t% d7 v
" ]+ b6 p G# P
cp /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat, K# \2 I( m( \9 P9 O7 U. J2 J7 m
+ } S- l+ L: Yln -s /etc/init.d/tomcat /etc/rc3.d/s91tomcat. }6 E' o" v! B2 L6 @" L2 N
- F$ h) ?. t2 c! G& h; v# |将 tomcat设置为开机自动启动
) ^) [; m \* E" I+ l! Z ; Z2 u) N3 e5 z
4.设置环境变量" D% |, k: m7 d/ p! t7 ~0 c
% G; c9 Q s& |- v# i5 c2 Cvi /etc/profile+ l$ i- {' q; y2 B* U% R) C
4 J& g( C- {/ b( _: H
在最下面添加
" S5 y, P( _* o8 E- |1 Q8 B: b" c * F, h5 P/ K( o7 v) m. ?
export JAVA_HOME=/usr/local/jdk4 ?. [& [8 z6 o, L4 p
6 I8 g2 u; l6 f* J5 l. G* Jexport CATALINA_HOME=/usr/local/tomcat& t5 W( [4 x @( p
$ C& C" Z; _% D# S1 ~, l" K2 M3 Sexport PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin- s, d- L; S& I j* g4 f; e- R m. j
% k m: b2 O/ G! C. x
退出后 用 source /etc/profile 来刷新环境变量文件,这样不用重启系统
Y$ E5 s! l; l6 f, s! z : I# a$ q8 a2 ^. [" g
5.安装jk 模块
# v6 Q% w% p5 S- z- U8 I U" E% x8 ^6 L% {( [0 A
tar -xvf jk
& f$ t$ V! D. o' s
/ A6 S) X0 D B/ y# X" Fcd jk/native' b. o) G- ~. k) R" q' j% ~3 ]
$ f! }( k+ P+ M
chmod 755 buildconf.sh
# m* I1 B$ c5 R. Z ! p3 G, c X4 i- q9 x% E w
./buildconf.sh3 |. O5 y# c2 Z& ]
5 P, F/ i7 ]$ ?% G0 ^6 z' o
./configure --with-apxs=/usr/local/apache2/bin/apxs( b# }* i4 u' o9 a7 E [
# J1 z# g+ K* x, A" Y
make 这里只编译 不安装
) w( T1 m f- g& \ U . z$ `) D M+ z3 _0 }/ R
cd jk/native/apache-2.0/) K. z8 e. F+ {4 W1 D; P
" d& s: M. h4 W9 @cp -p mod_jk.so /usr/local/apache/modules" K9 V, h. ]: \" u1 \5 w [
/ f- H2 ?$ a. n1 s: R2 n. y/ Y- g& I T6.整合配置文件: S @' r, A, T4 O
2 B! N, b% b- U1 q# A9 u
cd /usr/local/apache2/conf
7 [% D" b5 A% W" |. P
|) F* z" `/ O5 H* ^4 svi http.conf 修改apache的配置文件& Y% o( z7 A0 W( }
* M9 {' K/ n: r* Q1 |# H
修改listen 192.168.1.99:80) P7 h5 M% b& o1 t7 B
/ @1 i! N, Y& w添加LoadModule jk_module modules/mod_jk.so
" F2 ]' p" r3 p ; h5 P, F% F& I5 T D
include /usr/local/apache2/conf/mod_jk.conf, r. p" p. o$ ?6 T: |; Q# P# H
# i5 D+ K) B9 X+ c7 r! GServerAdmin admin@admin.com* [, i- N* X( _! c' Q; }% E
- q, Q4 \) o# _( j: W2 B
Servername www.admin.com:80 去掉注释
8 h Z# P: L# W" D 5 U* N& ~% [8 Q
<directory "/var/www"> 站点目录
8 K: }' r2 D3 a: b# s6 U
$ N n+ v" E/ ]2 j+ z2 f+ @% O4 K3 VDocumentRoot "/var/www" 虚拟目录
, U% v! F3 S+ W
- t. {/ z4 Q$ G6 H6 HDirectoryIndex index.html index.jsp index.htm
V& D$ f8 p1 i % }% P% U* Y r3 p
添加上index.jsp
$ ~/ `8 q3 h0 ~& x" S8 i+ n
[* }9 O5 o. G1 U- n9 Q, V ^$ j0 C创建mod_jk.conf 和workers.properties 这两个配置文件8 g! f, |, d) n+ [2 d f
7 r' O: d+ w7 [7 N3 L7 f' y3 _5 V
vi mod_jk.conf
6 h! I' J* C9 _3 g; O
- U3 Y; }2 D' i$ D2 U! UJkWorkersFile /usr/local/apache2/conf/workers.properties
4 ?8 _7 t3 }6 w0 r& ?( K8 @8 w JkLogFile /usr/local/apache2/logs/mod_jk.log
# J6 Y) q+ j6 n6 ` JkLogLevel info' m! E6 h1 u8 \* h8 G
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
9 [0 C1 z. v |! @" G2 P JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
6 }1 g5 p6 J8 i) ?7 r# | JkRequestLogFormat "%w %V %T"( y y7 _, l" _
JkMount /servlet/* worker1
S$ s4 l' w) g2 v" I, X6 q JkMount /*.jsp worker17 u* j3 M6 a; a$ H
vi workers.properties; ?, a! }8 _) n
* c, p2 f( [1 @& M# 此配置是针对多tomcat的整合,很简单,可以根据自己的需要修改 4 z9 x( V/ M: {& R/ t
# workers.properties 4 n. }+ T4 x$ E1 @( J
#
+ l( H" X* }$ a: r$ F4 q; a/ m
4 w. e4 `: z5 S# list the workers by name
8 D7 M+ ]4 p! H3 vworker.list=loadBalanceServers, jk_watcher ( l n1 q/ h# }3 n
$ S* D3 X& f. S
# localhost server 1 $ M' d3 u6 ^% n* U1 D1 c7 L
# ------------------------ + K$ U+ _6 j0 H1 v% A
worker.s1.port=8109 3 X8 H* R1 k8 d; N% [9 U
worker.s1.host=localhost 8 t/ f- R- ~8 t3 R. m
worker.s1.type=ajp13
' q; J( z; g" R" vworker.s1.lbfactor=10
1 b8 ]0 e* {0 v$ V* t8 K& {, Gworker.s1.cachesize=5
! T4 b+ K3 k, W, {6 k) a
6 ?0 {2 w2 a( T# {# localhost server 2 , X% b. g$ J5 L" h: i. u7 G: S
# ------------------------
3 P5 F) q3 R* ]! t: H' Mworker.s2.port=8209
2 x* ?) u7 h. u% V9 c" ~( Fworker.s2.host=localhost 7 F& j/ v; L$ r% m' J* w
worker.s2.type=ajp13
! T* X+ v; J+ f; n% rworker.s2.lbfactor=10
G( w# o% w9 b. L) Q- tworker.s2.cachesize=5 - q2 ]+ P& d1 _% x2 |& J) y T3 u
! O7 l' i! L: Bworker.loadBalanceServers.type=lb
/ y6 F- [/ k8 f* }: qworker.loadBalanceServers.balanced_workers=s1,s2
t7 h/ L1 Z3 h3 M% Pworker.loadBalanceServers.sticky_session=false , j) z8 t, ]' {" M
worker.jk_watcher.type=status ' J A$ |3 x& I# Y
# worker.jk_watcher.read_only=True y1 F" m( `9 ]0 Y1 N1 b/ d
worker.jk_watcher.mount=/admin/jk
0 e8 m2 j. _- }0 hworker.retries=3 这两个文件放在/usr/local/apache2/conf 目录的下面! ]& R, H2 a$ d8 ]6 e2 P
. A. F9 O8 F+ ^. @4 @cd /usr/local/tomcat/conf
* ?0 d/ d1 s* \& _
/ _6 p' f- x; r" s, N9 Kvi server.xml! ]2 ], O7 G t; _
2 Q) r3 |0 b) v7 T
在最下面<host>之间添加以下内容
% L; X0 i8 f% T/ y' ^
8 ^! o; m, I4 @<Context path="" docBase="/var/www" debug="0" reloadable="true" crossContext="true"/>
% a! E T. ?$ O7 p$ i' n: `
1 ^# G: ]. Z: V1 D3 }$ G0 Y& V将appBase="/usr/local/apache2"修改
5 N, t2 j. m- I+ I
0 A7 ]2 ?& o: U9 ~% ~, r现在 重启服务 浏览 jsp页面 应该没问题了。- z! `/ [ M1 U {& [ p" s( F4 C
& x3 c: i6 y- [" T3 B, {
apache 通过 jk模块,将jsp页面 交给了tomcat来处理。
4 I" j& f( a7 Q X% @4 g4 O
4 @8 X6 S) |% T& G当然也可以反向代理 来实现。这只是一种老办法了。 |
|