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

相关文章
相关标签/搜索