JSP相對於PHP來說,可能運行得更快,消耗系統資源更少,功能更為強大——例如對分散式處理和組件支持等等。JSP技術在國外已經相當普及,而在國內,只不過還是剛熱起來而已……雖然現在ASP+在性能上給JSP帶來嚴峻的挑戰,但它作為微軟以外的一個選擇,又支持多平台,所以還是很多網站所採用的首選。在這一部分里,我們將講解三種不同的JSP集成方案,代表著三種典型的應用範圍。 Linux+Apache+PHP+JSP的Resin解決方案 首先向大家推薦的是Resin。Resin是快速的、容易配置和實施的、使用簡單的JSP/Servlet引擎和Web伺服器。這一點完全是無庸置疑的,無論是在windows平台還是在UNIX/Linux平台。然而目前的Resin 1.3 還不是一個應用伺服器。不過Resin 2.0版有望取得很大的突破。因為它將包含一些最新的J2EE特性。Resin在JSP tags、XML解析等方面投入都比較早,現在也是處於比較領先的地位。而apache.org的tomcat更象是一個開發研究的產品。如果讓我來做一個網站,RESIN肯定是我的首選——相信泛舟也是如此認為的。 我們將在Linux+Apache+PHP的WEB服務解決方案中加入JSP的支持,這也許是您升級網站的需要。就算你不需要PHP也沒有關係,下面我也會講解如何做到這一點。 1、軟體包的獲取 JDK是所有支持JSP環境所必須的,可以從http://java.sun.com獲得它for linux的最新版本,現在好象是JSDK v1.3。 Resin可以從它的老家http://www.caucho.com獲得它的最新版本。在5月初的時候它的最新穩定版是1.2.5。 至於apache什麼的,請參考上一節有關內容。 2、安裝JDK 在安裝Resin前,最好先安裝好JDK,如果是下載的rpm包的話,可以使用 rpm -Uvh java_version.rpm 別忘了確認java運行所需要的一些基本設置,可能包括PATH、JAVA_HOME、CLASSPATH,例如可以把這些行加入/etc/profile文件里:
具體請參考java.sun.com對相應版本的安裝說明。 3、Resin對apache的要求 Resin可以為apache提供一個快速的servlet運行環境,允許apache處理servlets和JSP文件。但是它需要Apache的版本為1.3.x和DSO(Dynamic Shared Object,動態共享對象)的支持。所以在我們前一節中apache的編譯選項中,需要添加一條--enable-module=so。如果我們並不需要PHP的支持的話,可以直接使用類似如下的方法編譯apache:
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 這樣你就已經可以了。但是假如你知道apxs的位置的話,你也可以使用如下方法來編譯: linux> ./configure --with-apxs=/usr/local/apache/bin/apxs apxs是一個apache安裝配置時生成的一個小小的perl腳本。它可以使象resin這種模塊獲得apache所有的配置路徑。你應該可以用whereis apxs獲得它的位置。 如果你對配置選項需要更全面細緻的定製的話,你還可以使用 ./configure的如下參數,例如apache-include, apache-libexec和apache-conf,下面是對它們的說明: --with-apache=dir //Apache的根路徑,也就是prefix指定的安裝目錄 5、設置環境變數 我們已經完成了JDK的安裝與環境設置,但還需要對resin進行環境設置。下面是一個典型的配置,需要你手動加入~/.profile或者/etc/profile文件中。 # Resin的安裝路徑。通常情況下Resin都在這樣的目錄下: 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文件。
7、啟動Servlet引擎 現在你需要啟動servlet的引擎。和apache配合、resin單獨運行,resin的啟動方法都是一樣的。當然,對resin1.2/bin/httpd.sh這個腳本文件來說,你一樣可以使用start和stop參數。
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.sh stop"就是通過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是Servlet API2.0兼容並與Apache一起使用的容器。Tomcat是一個完全重寫的並與Servlet API2.2和JSP1.1兼容的容器。這通過前面的說明也可以看出來。Tomcat使用了一些為Jserv而寫的代碼,特別是Jserv的Apache介面,但這是唯一的相同之處.
和resin相比,Tomcat更象是一個正在研究的項目。resin早可以支持sun的j2ee,而在tomcat v3.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
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
注意修改軟體包的名稱。
3、設置環境變數,在/etc/profile或者登陸用戶目錄~/.bash_profile中設置環境變數如下:
JAVA_HOME=/usr/local/jdk
TOMCAT_HOME=/usr/local/tomcat
CLASSPATH=$JAVA_HOME/lib/tools.jar
export JAVA_HOME TOMCAT_HOME CLASSPATH
4、可以啟動Tomcat自帶的調試環境,埠8080
啟動:/usr/local/tomcat/bin/tomcat.sh start (這是後台啟動)
或者/usr/local/tomcat/bin/startup.sh
停止:/usr/local/tomcat/bin/tomcat.sh stop (這是停止後台服務)
或者/usr/local/tomcat/bin/shutdown.sh
訪問:http://localhost:8080/examples
5、建立Apache和Tomcat聯繫:
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)重新啟動WWW服務:
/usr/local/tomcat/bin/tomcat.sh stop
/usr/local/tomcat/bin/tomcat.sh start
/etc/rc.d/init.d/httpd restart
5)現在可以通過lynx http://localhost/examples訪問jsp/servlet
6、加入一個新的映射目錄(如:通過http://localhost/new_app訪問,/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 ,即可通過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+IBM Webshpere解決方案(JSP)
也許您長期以來使用微軟的產品,下意識的難以接受一切都免費的伺服器系統,那麼我們還有很多其它的選擇,例如鼎鼎有名的藍色巨人——也許它能夠使你更覺放心^_^。IBM WebSphere Application Server 是一種功能完善、開放的Web應用程序伺服器,是IBM電子商務計劃的核心部分,具有以下的特性:
1、基於Java和Servlets的Web應用程序運行環境,包含了為Web站點提供服務所需的一切,包括項目管理,連接資料庫,Java Servlet代碼生成器,beans和servlets開發工具,HTML編輯器,網站發布等,為開發Servlets和Javabeans提供了多種嚮導。 WebSphere Performance Pack作為網路優化管理工具,可以減少網路伺服器的擁擠現象,擴大容量,提高Web伺服器性能。
2、運行時可以協同並擴展Apache、Netscape、 IIS 和IBM 的HTTPWeb伺服器,因此可以成為強大的Web應用伺服器。
3、包含了eNetworkDispatcher、WebTrafficeExpress代理伺服器和AFS分散式文件系統,可以提供可伸縮的Web伺服器環境。
在本文的這一部分主要講解IBM WebSphere應用伺服器。我們主要簡介兩種安裝,一個是從CD安裝的標準版本,一個是你可以從網上的下載的60天體驗版。
1、安裝pdksh
你可以從安裝光碟里找到適合您linux系統版本的pdksh(Public Domain Korn Shell),或者從pdksh的Web 站點: http://www.cs.mun.ca/~michael/pdksh/ 獲得您需要的版本。
2、運行安裝腳本
假如你想IBM WebSphere應用伺服器和現有的Web伺服器配合使用,請在安裝前先停止該web伺服器的運行。例如httpd stop或者apachectl stop。你還需要在X環境下安裝。
安裝的過程很簡單:
a、mount上光碟機,例如:mount /dev/cdrom /mnt/cdrom;
b、進入光碟機所在路徑,例如:cd /mnt/cdrom;
c、運行安裝腳本:./install.sh。
整個安裝過程幫助你做了如下的事:
· 安裝IBM Developer Kit
· 安裝IBM HTTP Server作為Web伺服器(可選擇)
· 安裝WebSphere plug-in for the Web server
· 安裝一個新的IBM UDB DB2拷貝作為WebSphere管理資料庫(只有Advanced Edition支持,標準版不支持)
· 配置您所選擇的支持的資料庫,包括DB2的安裝版本(只有Advanced Edition支持,標準版不支持)
· 安裝IBM WebSphere應用伺服器
· 安裝IBM Distributed Debugger和Object Level Trace (OLT)
3、配置Web伺服器
如果你使用的是IBM HTTP Server,基本不需要做什麼改動。假如使用Apache伺服器,你需要在運行前配置Web伺服器:
a、打開apache伺服器的配置文件httpd.conf;
b、添加如下幾行
LoadModule app_server_module /opt/IBMWebAS/bin/mod_app_server.so |
c、拷貝WebSphere的Samples目錄到Web伺服器的document_root,如下所示:
cp -r /opt/IBMWebAS/WSsamples document_root
cp -r /opt/IBMWebAS/WSsamplesIDB document_root
注意:opt是指你的WebSphere伺服器安裝的目錄,document_root是指你web伺服器的文檔發布目錄。
4、啟動Web伺服器
無論你使用的是IBM HTTP Server還是Apache伺服器,假如 Web伺服器正在運行,你需要停止它。使用restart命令重啟這個服務。
啟動IBM HTTP Server 1.3.12,使用如下命令:
/opt/IBMHTTPServer/bin/apachectl restart
5、測試安裝的結果
a、用root身份在一個單獨的虛擬終端啟動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身份在一個單獨的虛擬終端啟動Java administrative console,使用如下命令:
cd /opt/IBMWebAS/bin
./adminclient.sh
d、當終端屏幕下面出現了控制台已經準備就緒的提示后,你可以開始準備運行了。
安裝下載的60天體驗版
請查閱
http://www-4.ibm.com/software/webservers/appserv/download_linux.html
以了解這個體驗版的有關信息。
預設的,這個體驗版的安裝是一個快速安裝(Quick Install)的過程,意味著自動安裝IBM Developer Kit,IBM HTTP Server,和一個InstantDB database產品。在http://www.ibm.com/linux可以下載到這個體驗版本。
1、解開下載回來的壓縮包:
tar -xvf edn_trial_was3_5.tar
在edn的位置如果是“adv”表明是Advanced Edition 如果是“std”表明是標準版。
2、運行快速安裝腳本,改變當前路徑:
cd edntrial
然後運行安裝腳本:
./quickinstall.sh
3、你會看見JDK、IBM HTTP Server和WebSphere應用伺服器的RPM包顯示一串數字信息提示安裝的完成度。
完成安裝以後,重新啟動Web server,然後啟動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世界的成熟產品,功能全面,配置要求高。各有所長,可以按照你的需要來自己選擇。
(責任編輯:A6)
[火星人 ] Linux+Apache+PHP+JSP 的Resin解決方案已經有946次圍觀