<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 15,comments - 29,trackbacks - 0

    前段時間有個JSP網站要在服務器上部署,由于服務器上根本沒配置過jsp環境,于是裝了Jdk和Tomcat,過程還算順利,很快就安裝好了,但是Tomcat的默認端口是8080,訪問網站也帶個端口多么不爽,因為服務器上有很多ASP站點,又不能不用IIS,于是第一個想到的便是跟IIS6.0整合,baidu google了大半天,搜出來文章倒是很多,也不知是由于我安裝的是最新的JDK和Tomcat,的原因還是權限原因(為了安全,更改過多處權限),總之就是不成功,換了兩臺服務器也沒配置成功,到最后不是不能正確運行,就是提示函數不正確,到網上搜,很多人問之類的問題,但幾乎沒有人正了把經回答的,有些“熱心”的倒還說兩句“重裝一下看看?”“再從頭到尾檢查一遍試試”。。。算了還是自己搞吧。

      繼續搞啊搞,還是不行,最后干脆不搞了,心想即使弄好了,性能還不知怎么樣呢。于是想另外的解決方法,因為服務器所在的網絡有空閑的ip,便想何不讓IIS用一個ip,Tomcat用一個ip,都使用80端口?問了幾個人都說不行,兩個軟件用同一個端口那不沖突么,也有的說兩個ip那得需要兩塊網卡啊。服務器上倒是有兩塊網卡,但就插了一根網線,另一個閑著。我就是要用一塊網卡,兩個ip,因為在TCP/ip協議屬性-》高級中,一塊網卡是可以添加多個ip地址的,iis與Tomcat分別監聽不同ip的80端口,OK,開始吧。

      我們知道IIS默認情況下是監聽所有ip地址的80端口的,也就是說,在網站屬性中只要選擇“全部未分配”,則該網站就可以使用所有本機可用的ip地址。顯然這個不符合我們現在的要求,我們首先將IIS所有站點當中全部改為指定IIS要監聽的IP地址,包括默認站點,例如全部改為61.156.31.1。再在網卡中加一個ip,也就是在TCP/ip高級屬性中再加一個可用的ip,這樣一塊網卡就可以使用兩個或更多個ip了,看似很簡單的操作可能有很多人不知道,認為一塊網卡只能設一個ip,呵呵。

      接下來最關鍵的一步開始了,便是禁用IIS的套接字池(如果這一步沒調好,便不會成功),在微軟官方網站上有解釋:

    http://support.microsoft.com/kb/238131/zh-cn

       概要
    在下列情況下,您可能需要禁用套接字池:
    1、承載的站點數目不多。
    2、有特殊的安全考慮。
    3、另一個應用程序或服務器需要某個 IP 地址上的端口 80。

    更多信息
        套接字池會導致“Internet 信息服務”(IIS) 偵聽所有 IP 地址,這樣,可能會對具有多個網絡的安全域造成安全隱患。另外,帶寬調節和性能調整會應用于所有針對同一端口(例如,端口 80)進行配置的 Web 站點。如果基于每個站點進行帶寬調節或性能調整,則必須禁用套接字池。

        由于 DisableSocketPooling 在 IIS 6.0 元數據庫架構 (MBSchema.xml) 中被定義為有效屬性,所以,您仍然可以使用 Adsutil.vbs 設置該屬性,但這種設置不起作用。IIS 6.0 中的功能是新增的核心級別驅動程序HTTP.sys 的一部分。要配置 HTTP.sys,您必須使用Httpcfg.exe。 有關如何在 IIS 6.0 中禁用套接字池的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
    813368 (http://support.microsoft.com/kb/813368/) IIS 6.0:設置配置數據庫數據 DisableSocketPooling 沒有作用

        要禁用套接字池,請執行下列步驟:
    1. 打開命令提示符并確保您位于 X:\Inetpub\Adminscripts 文件夾(其中 X 是 IIS 安裝驅動器)中。為此,請在命令提示符下鍵入以下

    行:
    X:

    CD\Inetpub\Adminscripts

    2. 打開 Adminscripts 文件夾后,請在命令提示符下鍵入以下行:
    cscript adsutil.vbs set w3svc/disablesocketpooling true
    3. 該命令反饋如下:
    disablesocketpooling :(BOOLEAN) True  
    4. 停止 IIS Admin 服務,然后再啟動它。
    5. 重新啟動 WWW 服務。



       好了,接下來設置IIS要監聽的ip地址。到2003的CD下的 support/tools/Support.cab。解壓出httpcfg.exe文件,COPY到

    windows/system32/目錄下,用法自己看幫助
    命令行:
    綁定到某IP: httpcfg set iplisten -i 61.156.31.1
    即命令使用IIS的只監聽指定的IP及端口
    查看綁定: httpcfg query iplisten
    刪除綁定: httpcfg delete iplisten -i 61.156.31.1


       IIS部分到此就設置好了,接下來設置Tomcat,當然或者你用Apache,Resin等也都可以,在Tomcat的配置文件Server.xml里找到

        <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"  redirectPort="8443"/>

        <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"  redirectPort="8443" address="61.156.31.2"/>

    在后面添加上需要Tomcat監聽的ip地址即可,例如:address="61.156.31.2"  Apache,Resin或者其他WEB服務器軟件都應該有相應的設置的,自己找一下即可。

        好了接下來重啟IIS,重啟Tomcat或Apache,怎么?啟動失敗?提示端口占用?是啊,我也遇到這種情況,搗鼓了大半天要是再不成功我就要放棄了。實在無奈之下重啟了一下服務器,哇,好啦。測試一下61.156.31.1訪問的是IIS,61.156.31.2訪問的是Tomcat可愛的大貓。

        實際上,實現IIS和Apache或Tomcat公用80的方法還很多,例如IIS設置8080,Apache設置80,利用Apache反向代理IIS的8080,當然也可以用NT下面的squid。或者在IIS中安裝IIS的Isapi Rewrite,利用IIS的反向代理代理Apache,當然如果IIS站點少,Apache站點多就用第一種方法,IIS站點多,Apache站點少就用第二種方法,但這兩種方法在性能上都不是很好,Apache在Windows下的反向代理也有BUG,經常出現Proxy Error的提示,至于IIS的反向代理沒用過,因為IIS的ISAPI帶反向代理功能的是要收費的。http://www.xpb.cn/blog/623.html

    posted on 2008-12-26 18:36 流腥魚 閱讀(3566) 評論(1)  編輯  收藏 所屬分類: java

    FeedBack:
    # re: 使用兩個IP實現IIS和Tomcat或Apache共用80端口的方法(轉)
    2011-03-01 18:24 | 賣燒烤
    管不管要先試試  回復  更多評論
      
    主站蜘蛛池模板: 国产又黄又爽又猛的免费视频播放| 免费看一区二区三区四区| 国产在线国偷精品产拍免费| 亚洲最大中文字幕| 麻豆最新国产剧情AV原创免费| 亚洲国产高清美女在线观看| 成人在线免费看片| 亚洲深深色噜噜狠狠网站| 成年性生交大片免费看| 亚洲.国产.欧美一区二区三区| 日韩一品在线播放视频一品免费| 老司机精品视频免费| 毛茸茸bbw亚洲人| 日本免费在线中文字幕| 亚洲美女精品视频| 午夜dj免费在线观看| 黄色片网站在线免费观看| 亚洲成亚洲乱码一二三四区软件| 57pao国产成永久免费视频| 亚洲黄色激情视频| 亚洲成aⅴ人片久青草影院| 国产精品免费AV片在线观看| 亚洲视频网站在线观看| 国产成人涩涩涩视频在线观看免费 | 亚洲 暴爽 AV人人爽日日碰| 国产jizzjizz免费视频| 久久久WWW成人免费精品| 亚洲成人福利网站| 国产免费观看a大片的网站| 中文字幕久无码免费久久| 亚洲成人午夜电影| 亚洲视频在线免费| 91福利免费视频| 黄色三级三级三级免费看| 亚洲高清在线视频| 精品免费国产一区二区三区| a级在线免费观看| 亚洲人成无码网站在线观看| 亚洲人成色777777在线观看| 青苹果乐园免费高清在线| 热久久这里是精品6免费观看|