JSP相對于PHP來(lái)說(shuō),可能運行得更快,消耗系統資源更少,功能更為強大??例如對分布式處理和組件支持等等。JSP技術(shù)在國外已相當普及,而在國內,只不過(guò)還是剛熱起來(lái)而已……雖然目前ASP+在性能上給JSP帶來(lái)嚴峻的挑戰,但他作為微軟以外的一個(gè)選擇,又支持多平臺,所以還是非常多網(wǎng)站所采用的最佳選擇。在這一部分里,我們將講解三種不同的JSP集成方案,代表著(zhù)三種典型的應用范圍。
Linux+Apache+PHP+JSP的Resin解決方案
首先向大家推薦的是Resin。Resin是快速的、容易設置和實(shí)施的、使用簡(jiǎn)單的JSP/Servlet引擎和Web服務(wù)器。這一點(diǎn)完全是無(wú)庸置疑的,無(wú)論是在windows平臺還是在UNIX/Linux平臺。然而目前的Resin 1.3 還不是個(gè)應用服務(wù)器。不過(guò)Resin 2.0版有望取得非常大的突破。因為他將包含一些最新的J2EE特性。Resin在JSP tags、XML解析等方面投入都比較早,目前也是處于比較領(lǐng)先的地位。而apache.org的tomcat更象是個(gè)研發(fā)研究的產(chǎn)品。如果讓我來(lái)做一個(gè)網(wǎng)站,RESIN肯定是我的最佳選擇??相信泛舟也是如此認為的。
我們將在Linux+Apache+PHP的WEB服務(wù)解決方案中加入JSP的支持,這也許是你升級網(wǎng)站的需要。就算你不必PHP也沒(méi)有關(guān)系,下面我也會(huì )講解怎么做到這一點(diǎn)。
1、軟件包的獲取
JDK是所有支持JSP環(huán)境所必須的,能從
http://java.sun.com
獲得他for linux的最新版本,目前好象是JSDK v1.3。
Resin能從他的老家
http://www.caucho.com
獲得他的最新版本。在5月初的時(shí)候他的最新穩定版是1.2.5。
至于apache什么的,請參考上一節有關(guān)內容。
2、安裝JDK
在安裝Resin前,最佳先安裝好JDK,如果是下載的rpm包的話(huà),能使用
rpm -Uvh java_version.rpm
如果是下載的GNU壓縮包的話(huà),直接解壓就能了。
別忘了確認java運行所需要的一些基本設置,可能包括PATH、JAVA_HOME、CLASSPATH,例如能把這些行加入/etc/profile文件里:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/java/bin
export PATH
JAVA_HOME=/usr/java
export JAVA_HOME
CLASSPATH=/usr/java/lib/tools.jar
export CLASSPATH
具體請參考java.sun.com對相應版本的安裝說(shuō)明。
3、Resin對apache的需求
Resin能為apache提供一個(gè)快速的servlet運行環(huán)境,允許apache處理servlets和JSP文件。不過(guò)他需要Apache的版本為1.3.x和DSO(Dynamic Shared Object,動(dòng)態(tài)共享對象)的支持。所以在我們前一節中apache的編譯選項中,需要添加一條--enable-module=so。如果我們并不必PHP的支持的話(huà),能直接使用類(lèi)似如下的方法編譯apache:
linux> ./configure --prefix=/usr/local/apache
--enable-module=so
linux> make
linux> make install
4、編譯mod_caucho.so
為了要編譯mod_caucho.so,你需要先運行configure后才使用make。這一步將生成mod_caucho.so并把他放在A(yíng)pache的module目錄里。按照我們在第二節中的設置,mod_caucho.so將在/server/apache/libexec的目錄下,否則一般都會(huì )被編譯成/usr/local/apache/libexec/mod_caucho.so。
linux> ./configure --with-apache=/server/apache
如果是按照前一步舉例中的方法把apache的安裝目錄設置為了
/usr/local/apache,那么,請修改這里apache的目錄。
linux> make
linux> make install
這樣你就已能了。不過(guò)如果你知道apxs的位置的話(huà),你也能使用如下方法來(lái)編譯:
linux> ./configure --with-apxs=/usr/local/apache/bin/apxs
linux> make
apxs是個(gè)apache安裝設置時(shí)生成的一個(gè)小小的perl腳本。他能使象resin這種模塊獲得apache所有的設置路徑。你應該能用whereis apxs獲得他的位置。
如果你對設置選項需要更全方面細致的制定的話(huà),你還能使用 ./configure的如下參數,例如apache-include, apache-libexec和apache-conf,下面是對他們的說(shuō)明:
--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、設置環(huán)境變量
我們已完成了JDK的安裝和環(huán)境設置,但還需要對resin進(jìn)行環(huán)境設置。下面是個(gè)典型的設置,需要你手動(dòng)加入~/.profile或/etc/profile文件中。
# Resin的安裝路徑。通常情況下Resin都在這樣的目錄下:
RESIN_HOME=//resin1.2
export RESIN_HOME
# 如果你使用了擴展類(lèi)庫,你需要把他加入到classpath中,
# 最典型的可能是JDBC的驅動(dòng)程式了
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ā)布文件的根。下面是個(gè)典型的resin.conf文件。
7、啟動(dòng)Servlet引擎
目前你需要啟動(dòng)servlet的引擎。和apache配合、resin獨立運行,resin的啟動(dòng)方法都是相同的。當然,對resin1.2/bin/httpd.sh這個(gè)腳本文件來(lái)說(shuō),你相同能使用start和stop參數。
linux> resin1.2/bin/httpd.sh
Resin 1.2.s010113 -- Sat Jan 13 11:17:18 PST 2001
http listening to *:8080
srun listening to localhost:6802
Resin將顯示他監聽(tīng)的每一個(gè)端口。在上面這個(gè)例子中,Resin的http服務(wù)使用了8080,servlet支持協(xié)議使用了6802端口。也就是說(shuō)mod_caucho只能在本地的6802端口和Resin連接通信,但你能通過(guò)8080端口在所有主機上瀏覽Resin服務(wù)器的內容。
下面這個(gè)片段顯示了http和srun在上面這個(gè)例子中的設置。
...
呵呵,目前你能使用一些簡(jiǎn)單的腳本來(lái)測試你的jsp環(huán)境了。
附注:wrapper.pl
Resin使用一個(gè)perl的腳本,resin1.2/bin/wrapper.pl,來(lái)控制Java進(jìn)程。((bin/httpd.sh只是個(gè)調用wrapper.pl的微型腳本而已)。你能通過(guò)修改bin/httpd.sh或bin/wrapper.pl來(lái)設定你的設置。
wrapper.pl在Resin結束的時(shí)候自動(dòng)重起他。如果你需要使用kill命令停止Resin,你需要先用kill命令殺掉wrapper.pl進(jìn)程("httpd.sh stop"就是通過(guò)kill了wrapper.pl進(jìn)程來(lái)實(shí)現的。
四、 Linux+Apache+Tomcat(JSP)解決方案
Tomcat是apache上實(shí)現jsp+javabean環(huán)境的接口程式,集成jsp1.1和servlet2.2 。他提供一個(gè)獨立的mod_jserv.so模塊,利用apache的DSO動(dòng)態(tài)載入,和早先的Jserver不同,Tomcat必須作為一個(gè)獨立的程式運行,所有提交給apache的java請求將通過(guò)Tomcat自帶的jserv模塊提交給Tomcat進(jìn)一步處理。就是說(shuō),必須先運行
Tomcat,再運行apache才能解釋jsp/servlet程式。
非常多Tomcat的安裝指南都把Tomcat和Jserv一起安裝,我覺(jué)得沒(méi)有這個(gè)必要。Tomcat和Jserv有何差別?Tomcat是Jserv嗎?大家對他們之間的關(guān)系不是非常清晰明白。Jserv是Servlet API2.0兼容并和Apache一起使用的容器。Tomcat是個(gè)完全重寫(xiě)的并和Servlet API2.2和JSP1.1兼容的容器。這通過(guò)前面的說(shuō)明也能看出來(lái)。Tomcat使用了一些為Jserv而寫(xiě)的代碼,特別是Jserv的Apache接口,但這是唯一的相同之處.
和resin相比,Tomcat更象是個(gè)正在研究的項目。resin早能支持sun的j2ee,而在tomcat v3.x不能直接支持,而j2ee是基于java服務(wù)器端大系統的基礎。當然,在他的4.x版本中已有了改觀(guān)。但tomcat結構非常合理,而且是apache組織和sun合作的產(chǎn)品,因此有著(zhù)非常好的遠景。
注意本小節和前兩小節沒(méi)有所有繼承關(guān)系,完成安裝的唯一前提是使用系統自帶的apache或使用RPM包安裝的apache,并且apache已能正常運行了。
1、軟件包的下載
從
http://jakarta.apache.org
下載Tomcat3.1的二進(jìn)制文件:jakarta
-tomcat.tar.gz.和 mod_jserv.so文件。 當然JDK也是必不可少的。
2、安裝JDK和Tomcat
假設JDK和Tomcat軟件包都在/usr/local目錄下。
cd /usr/local
tar zxvf jdk1_3_0-linux-i386.tar.gz
ln -s jdk1.3.0 jdk
cd /usr/local
tar zxvf jakarta-tomcat.tar.gz
ln -s jakarta-tomcat tomcat
注意修改軟件包的名稱(chēng)。
3、設置環(huán)境變量,在/etc/profile或登陸用戶(hù)目錄~/.bash_profile中設置環(huán)境變量如下:
JAVA_HOME=/usr/local/jdk
TOMCAT_HOME=/usr/local/tomcat
CLASSPATH=$JAVA_HOME/lib/tools.jar
export JAVA_HOME TOMCAT_HOME CLASSPATH
4、能啟動(dòng)Tomcat自帶的調試環(huán)境,端口8080
啟動(dòng):/usr/local/tomcat/bin/tomcat.sh start (這是后臺啟動(dòng))
或/usr/local/tomcat/bin/startup.sh
停止:/usr/local/tomcat/bin/tomcat.sh stop (這是停止后臺服務(wù))
或/usr/local/tomcat/bin/shutdown.sh
訪(fǎng)問(wèn):
http://localhost:8080/examples
5、建立Apache和Tomcat聯(lián)系:
1)cp mod_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第一行為:
LoadModule jserv_module /usr/lib/apache/mod_jserv.so
4)重新啟動(dòng)WWW服務(wù):
/usr/local/tomcat/bin/tomcat.sh stop
/usr/local/tomcat/bin/tomcat.sh start
/etc/rc.d/init.d/httpd restart
5)目前能通過(guò)lynx
http://localhost/examples
訪(fǎng)問(wèn)jsp/servlet
6、加入一個(gè)新的映射目錄(如:通過(guò)
http://localhost/new_app
訪(fǎng)問(wèn),/new_app映射到系統 目錄/home/httpd/new_app)
1)stop Tomcat和Apache
2)vi /usr/local/tomcat/conf/server.xml,加入:
3)/usr/local/tomcat/bin/tomcat.sh start
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 ,即可通過(guò)
http://localhost/new_app
訪(fǎng)問(wèn)jsp/servetl。
附注:使用說(shuō)明
1)Jsp 程式放在/home/httpd/new_app下,能通過(guò)
http://localhost/new_app/test.jsp
訪(fǎng)問(wèn)。
2)Servlet程式放在/home/httpd/new_app/WEB-INF/classes下,通過(guò)
http://localhost/new_app/servlet/Test
訪(fǎng)問(wèn)。
3)Javabean 放在/home/httpd/new_app/WEB-INF/classes下?;蛉我庖粋€(gè)CLASSPATH定義的目錄下。
4)為兼容原有系統,將servlet程式放在/usr/local/tomcat/webapps/ROOT/WEB-INF/classes下,即可用過(guò)
http://localhost/servlet/com.Test
形式訪(fǎng)問(wèn)。
五、Linux+IBM Webshpere解決方案(JSP)
也許你長(cháng)期以來(lái)使用微軟的產(chǎn)品,下意識的難以接受一切都免費的服務(wù)器系統,那么我們更有非常多其他的選擇,例如鼎鼎有名的藍色巨人??也許他能夠使你更覺(jué)放心^_^。IBM WebSphere Application Server 是一種功能完善、開(kāi)放的Web應用程式服務(wù)器,是IBM電子商務(wù)計劃的核心部分,具有以下的特性:
1、基于Java和Servlets的Web應用程式運行環(huán)境,包含了為Web站點(diǎn)提供服務(wù)所需的一切,包括項目管理,連接數據庫,Java Servlet代碼生成器,beans和servlets研發(fā)工具,HTML編輯器,網(wǎng)站發(fā)布等,為研發(fā)Servlets和Javabeans提供了多種向導。 WebSphere Performance Pack作為網(wǎng)絡(luò )優(yōu)化管理工具,能減少網(wǎng)絡(luò )服務(wù)器的擁擠現象,擴大容量,提高Web服務(wù)器性能。
2、運行時(shí)能協(xié)同并擴展Apache、Netscape、 IIS 和IBM 的HTTPWeb服務(wù)器,因此能成為強大的Web應用服務(wù)器。
3、包含了eNetworkDispatcher、WebTrafficeExpress代理服務(wù)器和AFS分布式文件系統,能提供可伸縮的Web服務(wù)器環(huán)境。
在本文的這一部分主要講解IBM WebSphere應用服務(wù)器。我們主要簡(jiǎn)介兩種安裝,一個(gè)是從CD安裝的標準版本,一個(gè)是你能從網(wǎng)上的下載的60天體驗版。
1、安裝pdksh
你能從安裝光盤(pán)里找到適合你linux系統版本的pdksh(Public Domain Korn Shell),或從pdksh的Web 站點(diǎn):
http://www.cs.mun.ca/~michael/pdksh/
獲得你需要的版本。
2、運行安裝腳本
如果你想IBM WebSphere應用服務(wù)器和現有的Web服務(wù)器配合使用,請在安裝前先停止該web服務(wù)器的運行。例如httpd stop或apachectl stop。你還需要在X環(huán)境下安裝。
安裝的過(guò)程非常簡(jiǎn)單:
a、mount上光驅?zhuān)纾簃ount /dev/cdrom /mnt/cdrom;
b、進(jìn)入光驅所在路徑,例如:cd /mnt/cdrom;
c、運行安裝腳本:./install.sh。
整個(gè)安裝過(guò)程幫助你做了如下的事:
安裝IBM Developer Kit
安裝IBM HTTP Server作為Web服務(wù)器(可選擇)
安裝WebSphere plug-in for the Web server
安裝一個(gè)新的IBM UDB DB2拷貝作為WebSphere管理數據庫(只有Advanced Edition支持,標準版不支持)
設置你所選擇的支持的數據庫,包括DB2的安裝版本(只有Advanced Edition支持,標準版不支持)
安裝IBM WebSphere應用服務(wù)器
安裝IBM Distributed Debugger和Object Level Trace (OLT)
3、設置Web服務(wù)器
如果你使用的是IBM HTTP Server,基本不必做什么改動(dòng)。如果使用Apache服務(wù)器,你需要在運行前設置Web服務(wù)器:
a、打開(kāi)apache服務(wù)器的設置文件httpd.conf;
b、添加如下幾行
LoadModule app_server_module /opt/IBMWebAS/bin/mod_app_server.so
AddModule mod_app_server.c
Alias /IBMWebAS/ /opt/IBMWebAS/web
NcfAppServerConfig BootFile /opt/IBMWebAS/properties/bootstrap.properties
c、拷貝WebSphere的Samples目錄到Web服務(wù)器的document_root,如下所示:
cp -r /opt/IBMWebAS/WSsamples document_root
cp -r /opt/IBMWebAS/WSsamplesIDB document_root
注意:opt是指你的WebSphere服務(wù)器安裝的目錄,document_root是指你web服務(wù)器的文件發(fā)布目錄。
4、啟動(dòng)Web服務(wù)器
無(wú)論你使用的是IBM HTTP Server還是Apache服務(wù)器,如果 Web服務(wù)器正在運行,你需要停止他。使用restart命令重啟這個(gè)服務(wù)。
啟動(dòng)IBM HTTP Server 1.3.12,使用如下命令:
/opt/IBMHTTPServer/bin/apachectl restart
5、測試安裝的結果
a、用root身份在一個(gè)獨立的虛擬終端啟動(dòng)WebSphere administrative server,使用如下命令:
cd /opt/IBMWebAS/bin
./startupServer.sh
b、等待,一般需要5分鐘,直到/opt/IBMWebAS/logs/tracefile文件中出現如下信息:“WebSphere Administration Server is open for e-business”。
c、用root身份在一個(gè)獨立的虛擬終端啟動(dòng)Java administrative console,使用如下命令:
cd /opt/IBMWebAS/bin
./adminclient.sh
d、當終端屏幕下面出現了控制臺已準備就緒的提示后,你能開(kāi)始準備運行了。
安裝下載的60天體驗版
請查閱
http://www-4.ibm.com/software/webservers/appserv/download_linux.html
以了解這個(gè)體驗版的有關(guān)信息。
缺省的,這個(gè)體驗版的安裝是個(gè)快速安裝(Quick Install)的過(guò)程,意味著(zhù)自動(dòng)安裝IBM Developer Kit,IBM HTTP Server,和一個(gè)InstantDB database產(chǎn)品。在
http://www.ibm.com/linux
能下載到這個(gè)體驗版本。
1、解開(kāi)下載回來(lái)的壓縮包:
tar -xvf edn_trial_was3_5.tar
在edn的位置如果是“adv”表明是Advanced Edition 如果是“std”表明是標準版。
2、運行快速安裝腳本,改動(dòng)當前路徑:
cd edntrial
然后運行安裝腳本:
./quickinstall.sh
3、你會(huì )看見(jiàn)JDK、IBM HTTP Server和WebSphere應用服務(wù)器的RPM包顯示一串數字信息提示安裝的完成度。
完成安裝以后,重新啟動(dòng)Web server,然后啟動(dòng)WebSphere應用服務(wù)器。這部分能參考前面CD安裝的有關(guān)內容。
有關(guān)WebSphere的安裝更周詳的內容請查看下面這個(gè)web頁(yè)面
http://www-4.ibm.com/software/webservers/appserv/doc/v35/
ae/infocenter/was/inst_wasv35_linux.html
在這個(gè)部分,我們提供了三個(gè)WWW服務(wù)器的解決方案,而且都支持JSP,各有不同之處。第一個(gè)速度快、性能高、設置需求低;第二個(gè)是apache和sun合作的項目,有著(zhù)能看好的前景;第三個(gè)是IBM步入linux世界的成熟產(chǎn)品,功能全方面,設置需求高。各有所長(cháng),能按照你的需要來(lái)自己選擇。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。