IIS+Apache同時運行ASP和PHP

前幾天公司的VPS上要放個ASP網站,本覺得小事一樁,遂風風火火地在WAMP旁邊又弄出來個IIS的快捷方式。一路過關斬將終於在IIS上建了個以域名爲主機頭的網站,端口固然是默認且大名鼎鼎的80,結果竟然是「(中止)」!web


IIS建網站80端口衝突

我頓覺一陣天旋地轉,說時遲那時快,最後關頭桌子以迅雷不及掩耳之勢穩穩地攙住了我(謝謝),咳咳。定了定神以後,我仔細提着腮幫子沉思了半日:這貨究竟是硬邦邦的微軟開發的,雖然說同是80端口,但我好歹用主機名把大家倆拉開了呀,何故仍是容不下Apache?又拉着額頭思慮了半晌,終於皇天不負有心人,我果斷雙擊桌面上的紅黃綠藍小圓球,不遠萬里來到了位於中國香港的Google.hk。在個人威逼利誘下,終於獲得瞭解決問題的辦法。apache

好,廢話再也不多說,趕忙把這來之不易的答案給你們雙手奉上。服務器

原來,還真是80端口衝突了。雖然在Apache或者IIS上能夠創建多個80端口的網站(不一樣域名),但能夠簡單滴理解爲一個WEB服務器軟件可使用一個端口處理多個網站,但多個WEB服務器軟件不能共用一個端口處理多個網站,就好像一個司機能夠開一輛車接多個乘客,但多個司機不能同時開一輛車接客(乘客)同樣。因此,只能讓IIS委屈一下,給你個8000端口吧,唉,誰讓我這麼偏袒開源軟件呢。網站

問題又來了,我總不能讓你們輸入http://www.LsevenTT.com/來訪問個人網站吧,因此必須還得解決一個問題:讓你們直接輸入域名就能夠訪問到這個ASP網站。只能從apache上着手了,由於80端口被他霸佔着呢。固然,這個問題Google也告訴我了,用Apache的代理功能,簡單地說就是當我訪問apache的80端口的時候他能夠把個人請求轉發到另外一個網址,而後把結果再回傳給我,對我來講,我根本不知道apache回去找別人要東西,因此就不會給訪問這個網站的用戶形成影響了。具體操做以下:spa

  1. 修改Apache的配置文件httpd.conf開啓兩個模塊代理

    1 LoadModule proxy_module modules/mod_proxy.so
    2 LoadModule proxy_http_module modules/mod_proxy_http.so
  2. (在httpd-vhosts.conf中)新增一個指向IIS上的ASP網站的VirtualHost,切記:ProxyRequests Off,不然你的服務器將成爲某些小朋友的免費代理服務器。這但是我對照apache日誌摸索了半天才搞出來的,說來也巧,我剛開啓代理就有人來跳了。日誌

    01 <VirtualHost *:80>
    02       <IfModule mod_proxy.c>
    03          ProxyRequests Off
    04          <Proxy *>
    05               Order deny,allow
    06               Allow from all
    07          </Proxy>
    08      </IfModule>
    09      ServerName LsevenTT.com
    10      ServerAlias www.LsevenTT.com
    11      ProxyPass / http://localhost:8000/
    12      ProxyPassReverse / http://localhost:8000/
    13  </VirtualHost>
  3. OK,重啓Apache,再次雙擊彩色小球輸入ASP網站的域名,apache如約奉上了去找IIS借來的ASP網站。code

好了,太陽也快下山了,今天就曬到這裏,再次感謝你們的捧場,謝謝,我們下期節目同一時間再見。再見orm

相關文章
相關標籤/搜索