Linux下搭建JSP环境

时间:2022-04-27 01:56:35
Linux下搭建JSP环境

    作为一名Java EE系统架构工程师,经常需要搭配和建立JSP(Java Server Pages)的开发环境和运行环境,所以本人在平时的工作中积累了一些在Linux下搭配JSP环境的经验。由于搭配环境所涉及的步骤比较繁杂,所以将其整理出来与大家一起分享。希望能起到抛砖引玉的作用,各位高手也多提宝贵意见。

一、JSPSewlet

在开始具体的操作之前,需要大家了解一下JSP程序与Servlet容器之间的关系,这样可以更好地理解JSP环境的搭配原理。JSP是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术是用Java语言作为脚本语言。JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。Apache做为最流行的web服务器功能强大,高效,但并不支持jspservlet,所以通常的做法是把它们整合起来,Apache处理静态页面,而把动态页面的请求交给 tomcat处理,发挥各自的优势。

   由此可以看出,JSP的主要作用是对服务器端的Java程序提供接口, 以便进行HTTP的交互。而要实现这种接口就必须要有一个处理JSP脚本的容器,更进一步,知道所有JSP脚本在运行时刻,都会被编译成Servlet,所以要处理JSP的容器就是--Servlet容器。现在世界上比较常用的Servlet容器主要有两种,一种是Apache基金会的Tomcat,另外一种是Jetty。相比较而言两者在Servlet处理上不分伯仲, 但笔者更倾向于选择TomCat, 因为TomcatApacheHTTP服务器相结合可以大大提高网站的访问承受能力,而Jetty就比较单纯的是一个Servlet容器而已。

二、配置JSP环境

1.下载Apache

   现在明白了JSP环境的搭配原理,就可以开始正式的搭配工作。首先要做的是配置好Apache,可以去http://httpd.apache.org下载一个最新版本的Apache服务器。目前适合Linux下的最新版本是UnixSourcehttpd-2.3.2.tar.gz。下载完后就可以开始编译和安装。首先进入到下载的软件包所在目录,执行以下命令:

$tar zxvf httpd-2.3.2.tar.gz

然后进入解压缩后的目录:

$cd httpd-2.3.2

2.编译和安装

$ ./configure --prefix=usr/local/apache --enable-module=s --enable-module=rewrite --enable-shared=max --htdocsdir=/var/www &&make && make install

需要注意的是,所有命令都需要写在一行里面。

这里通过enable-module参数告诉设置脚本,需要启动sorewrite模块,so模块是用来提DSO支持的Apache核心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进Apache。以后需要用到时需要重新编译整个Apache才可以实现。如果不能确定以后不会用到rewrite模块,还是建议在第一次编译的时候把rewrite模块编译好。enable-shared=max这个参数的作用时编译Apache时,把除了so以外的所有Apache的标准模块都编译成DSO模块,而不是编译进Apache核心内。安装Apache很简单,

启动Apache:

$/usr/local/apache/bin/apachectl start

然后用IE看“HTTP://IP”,此时应该能看到熟悉的Apache羽毛标志。

3.安装Tomcat

以上的工作完成了Apache的安装,下面就需要安装Tom-cat了。Tomcat需要在http://tomcat.apache.org进行下载,最新的版本是6.0.20.Tomcat下载后不需要编译,只需要解压出来就可以使用。

使用命令解压:

$tar zxvf apache-tomcat-6.0.20.tar.gz

把解压缩后的目录放人,opt目录下并改名,以方便管理。

$mv apache-tomcat-6.0.20  /opt/tomcat

至此,Tomcat也就安装完毕了,要实现TomcatApache的结台,还需要一个JK,进入http://tomcat.apache.org/connectors-doc/下载最新版本的JK,最新版本号是1.2.28。下载后的文件是已经编译好的Apache模块,只需要把这个模块放人Apache的模块目录即可。

$mv jakarta-tomcat-connectors-jk-1.2.28-linux-sles9-x86_64-worker.so /usr/local/apache/modules/

$mv jakarta-tomcat-connectors-jk-1.2.28-linux-sles9-x86_64-worker.so jk_modules.so

然后编辑Apache的配置文件httpd.conf 加入JK模块的命令:

LoadModule jk_module modules/mod_jk.so

载入JK模块后,还需要配置一下Apacheconf目录下的workers2.properties文件,一般内容如下:

#Define the communication channel

[channel.socket:localhost:8009]

info=Ajp13 forwarding over socket tomcatld=localhost:8009

#Map the Tomcat examples webapp to the web server uri space

[urli:/examples/*]

info=Map the whole webapp

这个/examples应该是Tomcat下的路径,而不是Apache的,但在这里做了映射,这个URL就能被Apache接受并转给Tomcat,而不用加Tomcat的端口号了。至此LinuxJSP环境搭建就全部完成了,在实际应用中如果有多个Webapp只需要修改Workers2.properties文件,加入相应的映射就可以了。

本文出自 “李晨光原创技术博客” 博客,谢绝转载!