Chinaunix首页 | 论坛 | 博客
  • 博客访问: 124606
  • 博文数量: 69
  • 博客积分: 1550
  • 博客等级: 上尉
  • 技术积分: 676
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-22 11:13
文章分类

全部博文(69)

文章存档

2011年(1)

2010年(5)

2008年(4)

2007年(46)

2006年(13)

我的朋友

分类: LINUX

2007-11-15 17:52:23

tomcat 为一个jsp的容器,apache为一个web server,两者之间通信通过worker进行(由Tomcat使用Server.xml文件中Connector的标签来定义其端口和协议),通过 mod_jk的模块(由web服务器像apache、iis等使用)和Web Server通信。
通信协议有很多,其中jk2已经被抛弃了,现在就用jk就好了。
整个过程其实就是让apache的httpd.conf文件调用mod_jk.conf,mod_jk.conf调用workers.properties,最后配置虚拟主机。

1.所需软件 

tomcat5.5.9
apache2.2.0
jakarta-tomcat-connectors-1.2.15-src.tar.gz

2.tomcat和apache安装相对简单.

访问: 出现tomcat的欢迎界面,tomcat安装成功
访问:出现apache的欢迎界面,apache安装成功  

3.安装jakarta-tomcat-connectors-1.2.15-src.tar.gz

执行: tar zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz //解压包

     cd jakarta-tomcat-connectors-1.2.15-src/jk/native //进入目录
     ./buildconf.sh
     ./configure --with-apxs=/usr/local/apache2/bin/apxs

     make && make install   mod_jk.so模块自动生成到apache2/modules目录下


4.配置apache和tomcat(关键)


A. 配置apache httpd.conf文件
执行:cd /usr/local/apache2/conf
     vi httpd.conf 修改: httpd.conf 文件增加下列项##############################

NameVirtualHost 10.10.100.17

Include /usr/local/apache2/conf/vhost/*.conf

然后httpd.conf同级目录下新建目录 vhost
在vhost目录中新建mod_jk.conf,添加内容如下:
 
# Load mod_jk module
LoadModule jk_module    modules/mod_jk.so     
# Where to find workers.properties
JkWorkersFile           /usr/local/apache2/conf/workers.properties
# Where to put jk logs
JkLogFile               /usr/local/apache2/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 worker1
JkMount /status/* worker1
JkMount /*.jsp worker1

在vhost目录下继续添加test.conf配置文件. 修改如下:

 

     Options Indexes FollowSymLinks

    AllowOverride None

    Order allow,deny
    Allow from all
 
    DocumentRoot "/www/test/www" #主程序发布目录
    ServerName
    ErrorLog logs/localhost-error_log
    CustomLog logs/localhost-access_log common

在conf同级目录中建立 workers.properties文件添加如下内容:

 # Define 1 real worker using ajp13

worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=127.0.0.1 #本机,若上面Tomcat主机不为localhost,作相应修改
worker.worker1.port=8009  
worker.worker1.lbfactor=1
worker.worker1.cachesize=128
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.reclycle_timeout=300

 apache目录权限修改:

   chown –R nobody:nobody apache2 //修改apache2目录的用户和组

这里要修改下httpd.conf文件里下列两项如下: 不然无权限访问
           User nobody
Group nobody

B.tomcat中配置:

主要配置server.xml
     vi server.xml  //编辑server.xml文件如下:
//虚拟主机 (部署的程序在/www/test/www)

    

            
     


注:appBase是程序的基本目录
   docBase是jsp或者html的所在目录

5.测试
在/www/test/www目录存放jsp 或者html文件

jsp代码如下

</FONT></DIV> <DIV><FONT color=#0000ff>test jsp</FONT></DIV> <DIV><FONT color=#0000ff>
<%
String showMessage="Oh My God!";
out.print(showMessage);
%>

访问  : 成功说明tomcat启动成功
访问
成功说明apache和tocmat整合成功
     
阅读(1704) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~