分類  >  Web前端 >

關於9080埠跟80埠實現真正意義的WebServer+ApplicationServer結合應用

tags:    時間:2013-12-10 08:51:45
關於9080埠和80埠實現真正意義的WebServer+ApplicationServer結合應用

        網上論壇關於IBM Http Server(簡稱IHS)與Websphere Application Server(簡稱WAS)聯合使用,即通過IHS的80埠間接訪問WAS的動態web(jsp,servlet,javabean)、EJB(Enterprise Javabean)9080埠的應用討論得比較多,有的朋友為此熬夜奮戰險些抓狂,其實沒那麼可怕,經過我反覆修改httpd.conf、重起IHS和WAS上百次的經驗,得出了一點點經驗,希望能給其他剛剛接觸was的人一些借鑒(有什麼錯誤大家補充說明吧)。原理不說了,因為冰雪和其它大俠已經在其它帖子中講得很透徹了。

導致80埠只能訪問靜態頁面而不能將請求傳遞給was的9080埠的原因一般有以下幾種情況:

1、版本的問題: 
        比如我就犯過的一個錯誤,只安裝was5企業版,結果在was安裝目錄下:某盤符\WebSphere\AppServer/bin/mod_ibm_app_server_http.dll死活沒有mod_ibm_app_server_http.dll,問冰雪才知道原來安裝有問題。 
        今天下午我又找到was5.1安裝就沒有這個問題了,因為自定義安裝時有一個重要選項是: Plug-in(插件) For IBM HTTP Server ,沒有這一項休想讓was和ihs結合起來,因為你沒有mod_ibm_app_server_http.dll模塊

2、httpd.conf不要輕易亂修改: 
        在不明白apache的httpd.conf如何修改的情況下千萬不要隨意修改(我測試成功那次一個字都沒修改)。

提前說明我操作的步驟: 
        在安裝was5.1后,再安裝ihs1.3.28,啟動IBM HTTP ADMINISTRATOR和IBM HTTP SERVER后,開始進入ihs管理頁面,根據提示在dos窗口下建立了一個管理用戶,千萬別自做主張進入ihs管理界面增刪模塊,千萬不要。
啟動was管理控制台,進入將默認應用停止卸載(我就留下一個應用),部署你的應用(比如從tomcat那邊調試好的應用,使用wsad或AAT打包),啟動后測試一下9080埠訪問是否正常,然後在管理控制台下:環境---更新web伺服器插件---確定,重新啟動ihs,你自然在ihs的httpd.conf文件最後看到這兩行(自動添加的,根本無須手動加入):

LoadModule ibm_app_server_http_module 「安裝盤符\WebSphere\AppServer/bin/mod_ibm_app_server_http.dll"
WebSpherePluginConfig "安裝盤符\WebSphere\AppServer/config/cells/plugin-cfg.xml

        沒有上面這兩行??那就想想是不是版本的問題,是不是沒有:was安裝盤符\WebSphere\AppServer/bin/mod_ibm_app_server_http.dll 
        此時就不要再設置什麼偵聽埠、虛擬目錄和虛擬機在這裡果亂了,不然稍有錯誤就很容易導致ihs啟動不起來(看見ihs出現啟動內部錯誤就出冷汗)

3、打包的時候需要注意哪些問題? 
        IBM打包工具wsad和ATT都挺好用的(唉,趕上好的時候,沒用過其它工具),也沒有什麼特殊的設置,基本上在tomcat上能正常運行,在was上就沒什麼問題(一定要設置好環境變數,進入was管理控制台----資源----jdbc提供程序---我用的SQLServer2000,類路徑裡面填寫C:/j2sdk/lib/msbase.jar
C:/j2sdk/lib/mssqlserver.jar
C:/j2sdk/lib/msutil.jar 
        就完成了,如果你在此設置數據源和連接池使用起來更為簡潔),打包時一般設置都很靈活,隨意就行,如果想打一個ear也行,打一個war也行。在was中部署的時候上下文根也很隨意,如果填入 / 代表直接指向你的應用文件夾(也許就是你的網站根目錄),如果不放心,還可以用ATT(was5.0的WebSphere\AppServer\bin目錄下有ATT工具:assembly.bat)打開查看一個(比如修改一下默認主頁,起不啟動文件服務好像也沒什麼影響) 

        以上是幾天來輪番熬夜查看論壇、開啟三台伺服器分別安裝不同版本,反覆修改,重啟服務,再修改得出的一點體會,得到了冰雪等大俠的大力幫助,非常感謝,因為我是新手,還請大家幫我把說得不準確或有錯誤的地方更正過來。謝謝,謝謝所有的朋友和老師。

成功的表現:http://serverIP:9080/applicationName/HomePage.jsp能訪問動態頁面
http://serverIP/applicationName/HomePage.jsp也能訪問動態頁面(IHS和WAS結合)
http://serverIP/可以訪問IHS管理控制台
修改httpd.conf建立虛擬目錄后通過http://serverIP/虛擬目錄 又可以像單獨使用Apache一樣訪問到靜態內容,一石二鳥一舉兩得,達到了最終目的!

billyyu 於 2005-3-10下午3:12

我這邊是與IIS終於整合成功,過兩天也把帖子奉上^_^

不過,這兩天出了一個新問題,鬱悶至極。以前配了好幾台伺服器,在設置全局安全性的時候都沒有問題,現在怎麼都配不上(這哪行,誰都可以用控制台了)

我的步驟是這樣:
1)添加本地OS的用戶,也就是管理員administrator
2)啟用「全局安全性」,可就是這時怎麼都報「administrator認證失敗,請再試一次……」 nnd,試N次都是失敗!!!

以前從未出過這種問題,WAS的安裝盤沒變,系統也沒變!!
唯一不同的是這次因為客戶主機是託管到互聯網上,所以打了N多win2000的補丁!

請各位大蝦指教!!沒有設好這個,後面的我都沒有興趣GO ON了

zhanghanbing 於 2005-3-11下午11:38

啟用WAS全局安全性的方法還是billyyu手把手教我的,不過他說的這種問題沒碰到過,
高手指點

推薦一個好的地方,這裡有很多資深IBM專家(至少他們有各種IBM正版軟體,真是羨慕死了),他們能解決 非常規 問題:
http://www-900.ibm.com/cn/suppor ... 6&categoryid=15

zhanghanbing 於 2005-3-12上午4:58

WAS部署的時候JSP預編譯不要輕易選擇,不然部署可能出現問題。

那麼,如何可以讓WAS進行jsp預編譯呢?

方法如下:打開WSAD---web項目(你已經設計好的J2EE web項目)----WEB-INF------WEB.xml,更改web.xml時有很多可以更改的,比如應用的首頁等,在擴展里選擇「預編譯」。導出web項目為一個war文件

進入was管理控制台,上下文目錄填入/ApplicationName,下一步(其它選項隨便),選擇預編譯jsp,其它步驟略,啟動這個應用。

好了,你可以通過下面的方式訪問了:
http://serverIP:9080/applicationName/HomePage.jsp能訪問動態頁面
http://serverIP/applicationName/HomePage.jsp也能訪問動態頁面
 

推薦閱讀文章

Bookmark the permalink ,來源:互聯網