時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
JSP相對于php來說,可能運行得更快,消耗系統(tǒng)資源更少,功能更為強大——例如對分布式處理和組件支持等等。JSP技術(shù)在國外已經(jīng)相當普及,而在國內(nèi),只不過還是剛熱起來而已……雖然現(xiàn)在ASP+在性能上給JSP帶來嚴峻的挑戰(zhàn),但它作為微軟以外的一個選擇,又支持多平臺,所以還是很多網(wǎng)站所采用的首選。在這一部分里,我們將講解三種不同的JSP集成方案,代表著三種典型的應(yīng)用范圍。
Linux+Apache+PHP+JSP的Resin解決方案
首先向大家推薦的是Resin。Resin是快速的、容易配置和實施的、使用簡單的JSP/Servlet引擎和web服務(wù)器。這一點完全是無庸置疑的,無論是在windows平臺還是在UNIX/Linux平臺。然而目前的Resin1.3還不是一個應(yīng)用服務(wù)器。不過Resin2.0版有望取得很大的突破。因為它將包含一些最新的J2EE特性。Resin在JSPtags、XML解析等方面投入都比較早,現(xiàn)在也是處于比較領(lǐng)先的地位。而apache.org的tomcat更象是一個開發(fā)研究的產(chǎn)品。如果讓我來做一個網(wǎng)站,RESIN肯定是我的首選——相信泛舟也是如此認為的。
我們將在Linux+Apache+PHP的WEB服務(wù)解決方案中加入JSP的支持,這也許是您升級網(wǎng)站的需要。就算你不需要PHP也沒有關(guān)系,下面我也會講解如何做到這一點。
1、軟件包的獲取
jdk是所有支持JSP環(huán)境所必須的,可以從https://java.sun.com獲得它forlinux的最新版本,現(xiàn)在好象是JSDKv1.3。
Resin可以從它的老家https://www.caucho.com獲得它的最新版本。在5月初的時候它的最新穩(wěn)定版是1.2.5。
至于apache什么的,請參考上一節(jié)有關(guān)內(nèi)容。
2、安裝JDK
在安裝Resin前,最好先安裝好JDK,如果是下載的rpm包的話,可以使用
rpm-Uvhjava_version.rpm
如果是下載的GNU壓縮包的話,直接解壓就可以了。
別忘了確認java運行所需要的一些基本設(shè)置,可能包括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對相應(yīng)版本的安裝說明。
3、Resin對apache的要求
Resin可以為apache提供一個快速的servlet運行環(huán)境,允許apache處理servlets和JSP文件。但是它需要Apache的版本為1.3.x和DSO(DynamicSharedObject,動態(tài)共享對象)的支持。所以在我們前一節(jié)中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目錄里。按照我們在第二節(jié)中的設(shè)置,mod_caucho.so將在/server/apache/libexec的目錄下,否則一般都會被編譯成/usr/local/apache/libexec/mod_caucho.so。
linux>./configure--with-apache=/server/apache
如果是按照前一步舉例中的方法把apache的安裝目錄設(shè)置為了
/usr/local/apache,那么,請修改這里apache的目錄。
linux>make
linux>makeinstall
這樣你就已經(jīng)可以了。但是假如你知道apxs的位置的話,你也可以使用如下方法來編譯:
linux>./configure--with-apxs=/usr/local/apache/bin/apxs
linux>make
apxs是一個apache安裝配置時生成的一個小小的perl腳本。它可以使象resin這種模塊獲得apache所有的配置路徑。你應(yīng)該可以用whereisapxs獲得它的位置。
如果你對配置選項需要更全面細致的定制的話,你還可以使用./configure的如下參數(shù),例如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、設(shè)置環(huán)境變量
我們已經(jīng)完成了JDK的安裝與環(huán)境設(shè)置,但還需要對resin進行環(huán)境設(shè)置。下面是一個典型的配置,需要你手動加入~/.profile或者/etc/profile文件中。
#Resin的安裝路徑。通常情況下Resin都在這樣的目錄下:
RESIN_HOME=//resin1.2
exportRESIN_HOME
#假如你使用了擴展類庫,你需要把它加入到classpath中,
#最典型的可能是JDBC的驅(qū)動程序了
CLASSPATH=$CLASSPATH:
6、配置resin.conf
缺省的,Resin將在resin1.2/doc目錄下尋找JSP文件,在resin1.2/doc/WEB-INF/classes尋找servlets和beans。為了要讓Resin使用Apache的發(fā)布文檔目錄(也就是我們發(fā)布WWW服務(wù)的根,在這里是/var/www/),我們需要配置app-dir。把app-dir從"doc"修改為/var/www或者你指定的WWW發(fā)布文檔的根。下面是一個典型的resin.conf文件。
app-dir='/var/www/'>servlet-name='invoker'/>servlet-name='com.caucho.jsp.XtpServlet'/>servlet-name='com.caucho.jsp.JspServlet'/>
7、啟動Servlet引擎
現(xiàn)在你需要啟動servlet的引擎。和apache配合、resin單獨運行,resin的啟動方法都是一樣的。當然,對resin1.2/bin/httpd.sh這個腳本文件來說,你一樣可以使用start和stop參數(shù)。
linux>resin1.2/bin/httpd.shResin1.2.s010113--SatJan1311:17:18PST2001httplisteningto*:8080srunlisteningtolocalhost:6802
Resin將顯示它監(jiān)聽的每一個端口。在上面這個例子中,Resin的http服務(wù)使用了8080,servlet支持協(xié)議使用了6802端口。也就是說mod_caucho只可以在本地的6802端口和Resin連接通信,但你可以通過8080端口在任何主機上瀏覽Resin服務(wù)器的內(nèi)容。
下面這個片段顯示了http和srun在上面這個例子中的配置。
...
呵呵,現(xiàn)在你可以使用一些簡單的腳本來測試你的jsp環(huán)境了。
附注:wrapper.pl
Resin使用一個perl的腳本,resin1.2/bin/wrapper.pl,來控制Java進程。((bin/httpd.sh只是一個調(diào)用wrapper.pl的微型腳本而已)。你可以通過修改bin/httpd.sh或者bin/wrapper.pl來設(shè)定你的配置。
wrapper.pl在Resin結(jié)束的時候自動重起它。假如你需要使用kill命令停止Resin,你需要先用kill命令殺掉wrapper.pl進程("httpd.shstop"就是通過kill了wrapper.pl進程來實現(xiàn)的。
Linux+Apache+Tomcat(JSP)解決方案
Tomcat是apache上實現(xiàn)jsp+javabean環(huán)境的接口程序,集成了jsp1.1和servlet2.2。他提供一個單獨的mod_jserv.so模塊,利用apache的DSO動態(tài)載入,與早先的Jserver不同,Tomcat必須作為一個單獨的程序運行,所有提交給apache的java請求將通過Tomcat自帶的jserv模塊提交給Tomcat進一步處理。就是說,必須先運行
Tomcat,再運行apache才能解釋jsp/servlet程序。
很多Tomcat的安裝指南都把Tomcat與Jserv一起安裝,我覺得沒有這個必要。Tomcat與Jserv有何區(qū)別?Tomcat是Jserv嗎?大家對它們之間的關(guān)系不是很清楚明白。Jserv是ServletAPI2.0兼容并與Apache一起使用的容器。Tomcat是一個完全重寫的并與ServletAPI2.2和JSP1.1兼容的容器。這通過前面的說明也可以看出來。Tomcat使用了一些為Jserv而寫的代碼,特別是Jserv的Apache接口,但這是唯一的相同之處.
和resin相比,Tomcat更象是一個正在研究的項目。resin早可以支持sun的j2ee,而在tomcatv3.x不能直接支持,而j2ee是基于java服務(wù)器端大系統(tǒng)的基礎(chǔ)。當然,在它的4.x版本中已經(jīng)有了改觀。但tomcat結(jié)構(gòu)非常合理,而且是apache組織和sun合作的產(chǎn)品,因此有著很好的遠景。
注意本小節(jié)和前兩小節(jié)沒有任何繼承關(guān)系,完成安裝的唯一前提是使用系統(tǒng)自帶的apache或者使用RPM包安裝的apache,并且apache已經(jīng)可以正常運行了。
1、軟件包的下載
從https://jakarta.apache.org下載Tomcat3.1的二進制文件:jakarta
-tomcat.tar.gz.和mod_jserv.so文件。當然JDK也是必不可少的。
2、安裝JDK和Tomcat
假設(shè)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、設(shè)置環(huán)境變量,在/etc/profile或者登陸用戶目錄~/.bash_profile中設(shè)置環(huán)境變量如下:
JAVA_HOME=/usr/local/jdk
TOMCAT_HOME=/usr/local/tomcat
CLASSPATH=$JAVA_HOME/lib/tools.jar
exportJAVA_HOMETOMCAT_HOMECLASSPATH
4、可以啟動Tomcat自帶的調(diào)試環(huán)境,端口8080
啟動:/usr/local/tomcat/bin/tomcat.shstart(這是后臺啟動)
或者/usr/local/tomcat/bin/startup.sh
停止:/usr/local/tomcat/bin/tomcat.shstop(這是停止后臺服務(wù))
或者/usr/local/tomcat/bin/shutdown.sh
訪問:https://localhost:8080/examples
5、建立Apache和Tomcat聯(lián)系:
1)cpmod_jserv.so/usr/lib/apache
2)在/etc/httpd/conf/httpd.co
關(guān)鍵詞標簽:解決方案,安裝,可以,使
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程使用screen管理你的遠程會話GNU/Linux安裝vmware如何登錄linux vps圖形界面 Linux遠程桌面連
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址linux tc實現(xiàn)ip流量限制dmidecode命令查看內(nèi)存型號linux下解壓rar文件安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程Ubuntu linux 關(guān)機、重啟、注銷 命令lcx.exe、nc.exe、sc.exe入侵中的使用方法查看linux服務(wù)器硬盤IO讀寫負載