当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux+Apache+PHP+JSP的Resin解决方案

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 Linux+Apache+PHP+JSP的Resin解决方案


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

JSP相对于PHP来说,可能运行得更快,消耗系统资源更少,功能更为强大——例如对分布式处理和组件支持等等。JSP技术在国外已经相当普及,而在国内,只不过还是刚热起来而已……虽然现在ASP+在性能上给JSP带来严峻的挑战,但它作为微软以外的一个选择,又支持多平台,所以还是很多网站所采用的首选。在这一部分里,我们将讲解三种不同的JSP集成方案,代表着三种典型的应用范围。

  Linux+Apache+PHP+JSP的Resin解决方案

首先向大家推荐的是Resin。Resin是快速的、容易配置和实施的、使用简单的JSP/Servlet引擎和Web服务器。这一点完全是无庸置疑的,无论是在windows平台还是在UNIX/Linux平台。然而目前的Resin1.3还不是一个应用服务器。不过Resin2.0版有望取得很大的突破。因为它将包含一些最新的J2EE特性。Resin在JSPtags、XML解析等方面投入都比较早,现在也是处于比较领先的地位。而apache.org的tomcat更象是一个开发研究的产品。如果让我来做一个网站,RESIN肯定是我的首选——相信泛舟也是如此认为的。

我们将在Linux+Apache+PHP的WEB服务解决方案中加入JSP的支持,这也许是您升级网站的需要。就算你不需要PHP也没有关系,下面我也会讲解如何做到这一点。

1、软件包的获取

JDK是所有支持JSP环境所必须的,可以从http://java.sun.com获得它forlinux的最新版本,现在好象是JSDKv1.3。

Resin可以从它的老家http://www.caucho.com获得它的最新版本。在5月初的时候它的最新稳定版是1.2.5。

至于apache什么的,请参考上一节有关内容。

2、安装JDK

在安装Resin前,最好先安装好JDK,如果是下载的rpm包的话,可以使用

rpm-Uvhjava_version.rpm

如果是下载的GNU压缩包的话,直接解压就可以了。

别忘了确认java运行所需要的一些基本设置,可能包括PATH、JAVA_HOME、CLASSPATH,例如可以把这些行加入/etc/profile文件里:

PATH=/usr/local/bin:/usr/bin:/bin:/usr/java/binexportPATHJAVA_HOME=/usr/javaexportJAVA_HOMECLASSPATH=/usr/java/lib/tools.jarexportCLASSPATH



具体请参考java.sun.com对相应版本的安装说明。

3、Resin对apache的要求

Resin可以为apache提供一个快速的servlet运行环境,允许apache处理servlets和JSP文件。但是它需要Apache的版本为1.3.x和DSO(DynamicSharedObject,动态共享对象)的支持。所以在我们前一节中apache的编译选项中,需要添加一条--enable-module=so。如果我们并不需要PHP的支持的话,可以直接使用类似如下的方法编译apache:

linux>./configure--prefix=/usr/local/apache--enable-module=solinux>makelinux>makeinstall



4、编译mod_caucho.so

为了要编译mod_caucho.so,你需要先运行configure后才使用make。这一步将生成mod_caucho.so并把它放在Apache的module目录里。按照我们在第二节中的设置,mod_caucho.so将在/server/apache/libexec的目录下,否则一般都会被编译成/usr/local/apache/libexec/mod_caucho.so。

linux>./configure--with-apache=/server/apache
如果是按照前一步举例中的方法把apache的安装目录设置为了
/usr/local/apache,那么,请修改这里apache的目录。
linux>make
linux>makeinstall

这样你就已经可以了。但是假如你知道apxs的位置的话,你也可以使用如下方法来编译:

linux>./configure--with-apxs=/usr/local/apache/bin/apxs
linux>make

apxs是一个apache安装配置时生成的一个小小的perl脚本。它可以使象resin这种模块获得apache所有的配置路径。你应该可以用whereisapxs获得它的位置。

如果你对配置选项需要更全面细致的定制的话,你还可以使用./configure的如下参数,例如apache-include,apache-libexec和apache-conf,下面是对它们的说明:

--with-apache=dir//Apache的根路径,也就是prefix指定的安装目录
--with-apxs=apxs//指向Apache的扩展脚本
--with-apache-include=dir//Apache包含文件所在的目录
--with-apache-libexec=dir//Apache模块所在的目录
--with-apache-conf=httpd.conf//Apache的配置文件

5、设置环境变量

我们已经完成了JDK的安装与环境设置,但还需要对resin进行环境设置。下面是一个典型的配置,需要你手动加入~/.profile或者/etc/profile文件中。

#Resin的安装路径。通常情况下Resin都在这样的目录下:
RESIN_HOME=//resin1.2
exportRESIN_HOME
#假如你使用了扩展类库,你需要把它加入到classpath中,
#最典型的可能是JDBC的驱动程序了
CLASSPATH=$CLASSPATH:

6、配置resin.conf

缺省的,Resin将在resin1.2/doc目录下寻找JSP文件,在resin1.2/doc/WEB-INF/classes寻找servlets和beans。为了要让Resin使用Apache的发布文档目录(也就是我们发布WWW服务的根,在这里是/var/www/),我们需要配置app-dir。把app-dir从“doc”修改为/var/www或者你指定的WWW发布文档的根。下面是一个典型的resin.conf文件。

app-dir='/var/www/'>servlet-name='invoker'/>servlet-name='com.caucho.jsp.XtpServlet'/>servlet-name='com.caucho.jsp.JspServlet'/>



7、启动Servlet引擎

现在你需要启动servlet的引擎。和apache配合、resin单独运行,resin的启动方法都是一样的。当然,对resin1.2/bin/httpd.sh这个脚本文件来说,你一样可以使用start和stop参数。

linux>resin1.2/bin/httpd.shResin1.2.s010113--SatJan1311:17:18PST2001httplisteningto*:8080srunlisteningtolocalhost:6802



Resin将显示它监听的每一个端口。在上面这个例子中,Resin的http服务使用了8080,servlet支持协议使用了6802端口。也就是说mod_caucho只可以在本地的6802端口和Resin连接通信,但你可以通过8080端口在任何主机上浏览Resin服务器的内容。

下面这个片段显示了http和srun在上面这个例子中的配置。


...

呵呵,现在你可以使用一些简单的脚本来测试你的jsp环境了。

附注:wrapper.pl

Resin使用一个perl的脚本,resin1.2/bin/wrapper.pl,来控制Java进程。((bin/httpd.sh只是一个调用wrapper.pl的微型脚本而已)。你可以通过修改bin/httpd.sh或者bin/wrapper.pl来设定你的配置。

wrapper.pl在Resin结束的时候自动重起它。假如你需要使用kill命令停止Resin,你需要先用kill命令杀掉wrapper.pl进程("httpd.shstop"就是通过kill了wrapper.pl进程来实现的。


Linux+Apache+Tomcat(JSP)解决方案

Tomcat是apache上实现jsp+javabean环境的接口程序,集成了jsp1.1和servlet2.2。他提供一个单独的mod_jserv.so模块,利用apache的DSO动态载入,与早先的Jserver不同,Tomcat必须作为一个单独的程序运行,所有提交给apache的java请求将通过Tomcat自带的jserv模块提交给Tomcat进一步处理。就是说,必须先运行

Tomcat,再运行apache才能解释jsp/servlet程序。

很多Tomcat的安装指南都把Tomcat与Jserv一起安装,我觉得没有这个必要。Tomcat与Jserv有何区别?Tomcat是Jserv吗?大家对它们之间的关系不是很清楚明白。Jserv是ServletAPI2.0兼容并与Apache一起使用的容器。Tomcat是一个完全重写的并与ServletAPI2.2和JSP1.1兼容的容器。这通过前面的说明也可以看出来。Tomcat使用了一些为Jserv而写的代码,特别是Jserv的Apache接口,但这是唯一的相同之处.

和resin相比,Tomcat更象是一个正在研究的项目。resin早可以支持sun的j2ee,而在tomcatv3.x不能直接支持,而j2ee是基于java服务器端大系统的基础。当然,在它的4.x版本中已经有了改观。但tomcat结构非常合理,而且是apache组织和sun合作的产品,因此有着很好的远景。

注意本小节和前两小节没有任何继承关系,完成安装的唯一前提是使用系统自带的apache或者使用RPM包安装的apache,并且apache已经可以正常运行了。

1、软件包的下载

http://jakarta.apache.org下载Tomcat3.1的二进制文件:jakarta

-tomcat.tar.gz.和mod_jserv.so文件。当然JDK也是必不可少的。

2、安装JDK和Tomcat

假设JDK和Tomcat软件包都在/usr/local目录下。

cd/usr/local
tarzxvfjdk1_3_0-linux-i386.tar.gz
ln-sjdk1.3.0jdk

cd/usr/local
tarzxvfjakarta-tomcat.tar.gz
ln-sjakarta-tomcattomcat

注意修改软件包的名称。

3、设置环境变量,在/etc/profile或者登陆用户目录~/.bash_profile中设置环境变量如下:

JAVA_HOME=/usr/local/jdk
TOMCAT_HOME=/usr/local/tomcat
CLASSPATH=$JAVA_HOME/lib/tools.jar
exportJAVA_HOMETOMCAT_HOMECLASSPATH

4、可以启动Tomcat自带的调试环境,端口8080

启动:/usr/local/tomcat/bin/tomcat.shstart(这是后台启动)

或者/usr/local/tomcat/bin/startup.sh

停止:/usr/local/tomcat/bin/tomcat.shstop(这是停止后台服务)

或者/usr/local/tomcat/bin/shutdown.sh

访问:http://localhost:8080/examples

5、建立Apache和Tomcat联系:

1)cpmod_jserv.so/usr/lib/apache

2)在/etc/httpd/conf/httpd.conf文件的最后加入

Include/usr/local/tomcat/conf/tomcat-apache.conf


3)更改/usr/local/tomcat/conf/tomcat-apache.conf第一行为:

LoadModulejserv_module/usr/lib/apache/mod_jserv.so

4)重新启动WWW服务:

/usr/local/tomcat/bin/tomcat.shstop
/usr/local/tomcat/bin/tomcat.shstart
/etc/rc.d/init.d/httpdrestart

5)现在可以通过lynxhttp://localhost/examples访问jsp/servlet

6、加入一个新的映射目录(如:通过http://localhost/new_app访问,/new_app映射到系统目录/home/httpd/new_app)

1)stopTomcat和Apache

2)vi/usr/local/tomcat/conf/server.xml,加入:

debug="0"reloadable="true">



3)/usr/local/tomcat/bin/tomcat.shstart

4)cp/usr/local/tomcat/conf/tomcat-apache.conf/usr/local/tomcat/tomcat-apache-cig.conf

5)修改/usr/local/tomcat/tomcat-apache-cig.conf,将new_app定义部分的目录映射改为/home/httpd/new_app

6)cp-R/usr/local/tomcat/webapps/examples/home/httpd/new_app/

7)重启Apache,即可通过http://localhost/new_app访问jsp/servetl。

附注:使用说明

1)Jsp程序放在/home/httpd/new_app下,可以通过http://localhost/new_app/test.jsp访问。

2)Servlet程序放在/home/httpd/new_app/WEB-INF/classes下,通过http://localhost/new_app/servlet/Test访问。

3)Javabean放在/home/httpd/new_app/WEB-INF/classes下。或者任意一个CLASSPATH定义的目录下。

4)为兼容原有系统,将servlet程序放在/usr/local/tomcat/webapps/ROOT/WEB-INF/classes下,即可用过http://localhost/servlet/com.Test形式访问。

Linux+IBMWebshpere解决方案(JSP)

也许您长期以来使用微软的产品,下意识的难以接受一切都免费的服务器系统,那么我们还有很多其它的选择,例如鼎鼎有名的蓝色巨人——也许它能够使你更觉放心^_^。IBMWebSphereApplicationServer是一种功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分,具有以下的特性:

1、基于Java和Servlets的Web应用程序运行环境,包含了为Web站点提供服务所需的一切,包括项目管理,连接数据库,JavaServlet代码生成器,beans和servlets开发工具,HTML编辑器,网站发布等,为开发Servlets和Javabeans提供了多种向导。WebSpherePerformancePack作为网络优化管理工具,可以减少网络服务器的拥挤现象,扩大容量,提高Web服务器性能。

2、运行时可以协同并扩展Apache、Netscape、IIS和IBM的HTTPWeb服务器,因此可以成为强大的Web应用服务器。

3、包含了eNetworkDispatcher、WebTrafficeExpress代理服务器和AFS分布式文件系统,可以提供可伸缩的Web服务器环境。

在本文的这一部分主要讲解IBMWebSphere应用服务器。我们主要简介两种安装,一个是从CD安装的标准版本,一个是你可以从网上的下载的60天体验版。

1、安装pdksh

你可以从安装光盘里找到适合您linux系统版本的pdksh(PublicDomainKornShell),或者从pdksh的Web站点:http://www.cs.mun.ca/~michael/pdksh/获得您需要的版本。

2、运行安装脚本

假如你想IBMWebSphere应用服务器和现有的Web服务器配合使用,请在安装前先停止该web服务器的运行。例如httpdstop或者apachectlstop。你还需要在X环境下安装。

安装的过程很简单:

a、mount上光驱,例如:mount/dev/cdrom/mnt/cdrom;

b、进入光驱所在路径,例如:cd/mnt/cdrom;

c、运行安装脚本:./install.sh。

整个安装过程帮助你做了如下的事:

·安装IBMDeveloperKit

·安装IBMHTTPServer作为Web服务器(可选择)

·安装WebSphereplug-infortheWebserver

·安装一个新的IBMUDBDB2拷贝作为WebSphere管理数据库(只有AdvancedEdition支持,标准版不支持)

·配置您所选择的支持的数据库,包括DB2的安装版本(只有AdvancedEdition支持,标准版不支持)

·安装IBMWebSphere应用服务器

·安装IBMDistributedDebugger和ObjectLevelTrace(OLT)

3、配置Web服务器

如果你使用的是IBMHTTPServer,基本不需要做什么改动。假如使用Apache服务器,你需要在运行前配置Web服务器:

a、打开apache服务器的配置文件httpd.conf;

b、添加如下几行

LoadModuleapp_server_module/opt/IBMWebAS/bin/mod_app_server.soAddModulemod_app_server.cAlias/IBMWebAS//opt/IBMWebAS/webNcfAppServerConfigBootFile/opt/IBMWebAS/properties/bootstrap.properties



c、拷贝WebSphere的Samples目录到Web服务器的document_root,如下所示:

cp-r/opt/IBMWebAS/WSsamplesdocument_root
cp-r/opt/IBMWebAS/WSsamplesIDBdocument_root

注意:opt是指你的WebSphere服务器安装的目录,document_root是指你web服务器的文档发布目录。

4、启动Web服务器

无论你使用的是IBMHTTPServer还是Apache服务器,假如Web服务器正在运行,你需要停止它。使用restart命令重启这个服务。

启动IBMHTTPServer1.3.12,使用如下命令:

/opt/IBMHTTPServer/bin/apachectlrestart

5、测试安装的结果

a、用root身份在一个单独的虚拟终端启动WebSphereadministrativeserver,使用如下命令:


cd/opt/IBMWebAS/bin

./startupServer.sh

b、等待,一般需要5分钟,直到/opt/IBMWebAS/logs/tracefile文件中出现如下信息:“WebSphereAdministrationServerisopenfore-business”。

c、用root身份在一个单独的虚拟终端启动Javaadministrativeconsole,使用如下命令:


cd/opt/IBMWebAS/bin

./adminclient.sh

d、当终端屏幕下面出现了控制台已经准备就绪的提示后,你可以开始准备运行了。

安装下载的60天体验版

请查阅

http://www-4.ibm.com/software/webservers/appserv/download_linux.html

以了解这个体验版的有关信息。

缺省的,这个体验版的安装是一个快速安装(QuickInstall)的过程,意味着自动安装IBMDeveloperKit,IBMHTTPServer,和一个InstantDBdatabase产品。在http://www.ibm.com/linux可以下载到这个体验版本。

1、解开下载回来的压缩包:

tar-xvfedn_trial_was3_5.tar


在edn的位置如果是“adv”表明是AdvancedEdition如果是“std”表明是标准版。

2、运行快速安装脚本,改变当前路径:

cdedntrial

然后运行安装脚本:

./quickinstall.sh

3、你会看见JDK、IBMHTTPServer和WebSphere应用服务器的RPM包显示一串数字信息提示安装的完成度。

完成安装以后,重新启动Webserver,然后启动WebSphere应用服务器。这部分可以参考前面CD安装的有关内容。

有关WebSphere的安装更详细的内容请查看下面这个web页面

http://www-4.ibm.com/software/webservers/appserv/doc/v35/
ae/infocenter/was/inst_wasv35_linux.html

在这个部分,我们提供了三个WWW服务器的解决方案,而且都支持JSP,各有不同之处。第一个速度快、性能高、配置要求低;第二个是apache和sun合作的项目,有着可以看好的前景;第三个是IBM步入linux世界的成熟产品,功能全面,配置要求高。各有所长,可以按照你的需要来自己选择。

上一页[1][2]