当前位置: 首页 > 图文教程 > 服务器 > Web服务器 > Apache服务器之JSP架构篇

Web服务器
让Web服务器远离脚本攻击
IIS常见问题及解答以及故障分析
在 IIS 中配置 SQL XML 支持
分页实现方法的性能比较
虚拟主机如何解决电信网通间互联互通
服务器平台磁盘整理软件(Windows)
保障Web数据库安全运行
看上去很美:国产服务器变革初显锋芒
用Web UI远程管理Win2003
防护Web站点恶意链接的方法
Web 服务器日志工具点评
Apache连接数设置
Web服务器安全指南
Apache虚拟主机的配置
Insert和Rs.Addnew的比较
IIS 错误代码大汇总
根据Web服务器记录来追击黑客入侵
一个IP建多个Web站点:TCP端口法
Apache vs Lighttpd谁更好?
虚拟主机IIS防范入侵常见问答

Web服务器 中的 Apache服务器之JSP架构篇


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 309 ::
收藏到网摘: n/a

本文主要讨论在红帽企业 Linux AS4的环境中使用Apache和 Tomcat服务器软件来架构JSP网站。

要让Apache和Tomcat联合工作,还必需有一个连接器(Connector)把它们联系起来,目前大致上有JK1.x,JK2,mod_webapp三种connector可以使用。jk 是mod_jserv的替代者,它是Tomcat-Apache插件,处理Tomcat和Apache之间的通信。JK使用比较广泛,JK2是JK1.x的改进,比较新。这三种Connector的配置方法大相径庭,另外,Tomcat是用Java写的,所以我们的操作系统必须有JDK或JRE。

红帽企业 Linux AS4的已经内置的RPM(Red Hat Package Manager)版的Apache服务器,版本为2.0.52(如图1);由于我们要在 Apache中整合tomcat,必须要下载Apache的tar.gz文件格式的源代码版,重新编译安装,编译采用允许动态加载模块的方式,主要是为了加载mod_jk2这个整合模块。因为默认的已经编译好的RPM版的Apache不能加载mod_jk2模块。



图1


    在这里我们在下载Apache的源代码版(Linux)为2.0.54版本(如图2),下载Tomcat 5.5.9的tar.gz文件格式的源代码版(如图3), Apache 和 Tomcat整合的连接器在本文中我们选用JK2,下载的版本为2.0.4(如图4);由于Tomcat需要java的运行环境,下载J2SE 5的升级3版即JDK 1.5.0_03(如图5)。

    将这4个下载文件拷贝到/ghq目录,下面我们就可以进行安装了。



图2




图3  




图4




图5


软件的安装与配置

1、Apache服务器的安装

    打开一个终端,进入到ghq目录下,解压httpd-2.0.54.tar.gz,然后编译安装。
     [root@www ~]#cd /ghq (进入ghq目录)
     [root@www ghq]#tar –zxvf  httpd-2.0.54.tar.gz (解开.tar.gz 压缩文件)
     [root@www ghq]#cd httpd-2.0.54 (切换到解开目录下)
     [root@www httpd-2.0.54]#./configure –prefix=/ghq/apache2 –-enable-mods-shared=all –-enable-so (执行组态配置文件,编译的Apache服务器软件安装在/ghq/apache2目录下,允许动态加载so模块,选择所需要的所有模块,如图6所示)


  
图6

    [root@www httpd-2.0.54]#make  (编译Apache服务器的相关文件,如图7所示)
  


图7

    [root@www httpd-2.0.54]#make install (将Apache服务器安装到红帽企业 Linux AS4系统,如图8所示)
   


图8


2、Tomcat独立运行环境的安装与配置

    ① 安装JDK

    [root@www ~]#cd /ghq (进入ghq目录)
    [root@www ghq]#chmod 711 jdk-1_5_0-03-Linux-i586-1.bin(使JDK具有执行权)
    [root@www ghq]#./ jdk-1_5_0-03-Linux-i586-1.bin(运行JDK程序,如图9和图10所示)
  


图9



   
图10

    JDK被安装到/ghq/jdk1.5.0_03目录下。



② 安装Tomcat软件

    [root@www ~]#cd /ghq (进入ghq目录)
    [root@www ghq]#tar –zxvf  Jakarta-tomcat-5.5.9.tar.gz (解开Tomcat压缩文件,如图11所示)




图11

    [root@www ghq]#cd Jakarta-tomcat-5.5.9 (进入tomcat目录)
    [root@www Jakarta-tomcat-5.5.9]#ls   (查看tomcat目录下的文件目录系统)

③ 设置环境变量

    [root@www Jakarta-tomcat-5.5.9]#vi ~/.bash_profile
设置好Java和Tomcat运行的目录和路径,以及环境变量,如下图12所示,然后保存此文件。


  
图12

    [root@www Jakarta-tomcat-5.5.9]. ~/.bash_profile(执行此文件,让设置有效)
    [root@www Jakarta-tomcat-5.5.9]java –version (查看目前Java运行的版本,如图13所示)
   

图13


3、整合Apache 和 Tomcat 服务器软件

① 连接器的解压与配置

    [root@www ghq]#tar–zxvf Jakarta-tomcat-connectors-jk2-src-
current.tar.gz (解开connectors压缩文件,如图14所示)




图14



    [root@www ghq]#cd Jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2(进入连接器目录中)
    [root@www native2]#./configure --with-apxs2=/ghq/apache2/bin/apxs --with-apr-lib=/ghq/apache2/bin --with-tomcat-559=/ghq/tomcat5.5.9 --with-java-home=/ghq/jdk1.5.0_03 --with-jni(执行组态配置文件,编译apache 、Tomcat和JDK的运行目录和路径,如图15所示)


图15


② Makefile文件的修改与编译,mod_jk2模块so文件的生成

    [root@www native2]# cd server/apache2 (进入server目录中apache2目录)
[root@www apache2]# vi Makefile 文件如下图16所示,然后保存此文件。


图16



    [root@www native2]# make (编译connectors,产生mod_jk2.so文件,如下图17所示。)



图17



    将编译生成的两个文件(jkjni.so、mod_jk2.so)拷贝到/ghq/apache的modules目录,这两个文件就是负责Tomcat和Apache通信的,如下图18、19所示。




图18




图19


Apache和Tomcat配置与测试

1、Apache的httpd.conf和workers2.properties文件的配置

打开/ghq/apache2/conf目录下的httpd.conf文件,首先将监听端口listen修改为9000,在LoadModule后添加一行,LoadModule jk2_module modules/mod_jk2.so,如图20所示,然后保存此文件。


图20

在/ghq/apache2/conf目录下的创建workers2.properties文件,主要是在Apache服务器里添加Tomcat的虚拟目录,如图21所示。



图21

2、Tomcat的jk2.properties配置

    [root@www native2]# cd /ghq/Jakarta-tomcat-5.5.9/conf
    [root@www conf]# vi jk2.properties
    对Tomcat的jk2.properties进行配置,只需要修改一行,找到shm.file,去掉该行的注释符,并将路径改为/ghq/apache2/logs/jk2.shm,如图22所示。
   


图22

 

3、启动Apache和Tomcat服务并进行测试

① 启动Tomcat服务并进行测试

    [root@www conf]# cd /ghq/Jakarta-tomcat-5.5.9/bin
    [root@www bin]# ./startup.sh
    如下图23所示。



图23 

启动Tomcat独立的运行环境,用8080端口进行测试,如图24所示。



图24

②启动Apache服务并进行测试

    [root@www bin]# cd /ghq/apache2/bin
    [root@www bin]# ./apachectl start
    如下图25所示。



图25

启动Apache的运行环境,用9000端口进行测试,如图26所示。



图26

 

③ Apache+Tomcat整合测试

在这里我们就以Tomcat本身带的jsp-examples中的date.jsp例子来测试。首先我们用Tomcat(8080)来测试,如下图27所示,说明Tomcat服务器能解析JSP文件;然后将date.jsp文件拷贝到/ghq/apache2/htdocs目录中,用Apache(9000)来测试,如图28、29所示,说明Apache服务器单独不能解析JSP文件;最后采用Apache+Tomcat整合来测试date.jsp例子,如图30所示,说明整合在一起可以解析JSP文件。



图27 


图28 


图29 


图30 

至此Apache+Tomcat整合环境架构步骤就已全部完成。