BluRayCD Forum

 找回密码
 立即注册【分享大片】
查看: 976|回复: 0
收起左侧

[空间技术] 两个IP实现IIS和Apache公用80端口的设置方法

[复制链接]

410

主题

177

回帖

1万

积分

Forum CEO

金币
2568 枚
体力
11800 点
kmxmxy 发表于 2011-7-17 21:55:35 | 显示全部楼层 |阅读模式
服务器两个IP实现IIS和Apache公用80端口

在windows 2003 Server 中同时安装Apache和IIS,两者只能正常启动一个,即Apache和IIS有冲突,原因在于IIS在默认的情况下会占用所有IP的80端口,当启动了IIS后,再启动Apache时,会出现一个错误提示框,提示内容为:"The requested operation has failed!" ,即“请求的操作已经失败”;若先启动Apache再启动IIS,系统提示“另一个程序正在使用此文件,进程无法访问”,微软的解决方案是:倘若 Apache和IIS要共存,且都需要使用80端口的话,需要网卡里绑多一个IP,具体做法如下,供网友参考。
*若Apache和IIS要共存,且都需要使用80端口,但只有一个IP的话,要使什么Apache Proxy,即apache代理,与本文方法不相同,请加以区分。
下面以两个IP分别设置两个环境为例说明,已知条件:218.87.96.160绑定了www.aXXX.net域名,是一个PHP的站点,需要apache环境;218.87.96.161绑定了www.BXXX.com域名,是个ASP站点,需要IIS环境。
一、Apache改成监听一个IP的端口。
在httpd.cfg 文件里。有 #Listen 12.34.56.78:80
写成如:Listen 218.87.96.160:80
二、下载微软 Support Tools工具里的 httpcfg.exe 程序
下载地址:https://www.jb51.net/softs/9541.html
并复制到 c:\windows\system32 目录下。
三、IIS改成监听的指定IP (用httpcfg.exe程序来指定)
httpcfg.exe是用来指定IIS的只监听指定的IP及端口
添加绑定:httpcfg set iplisten -i 218.87.96.161
查看绑定:httpcfg query iplisten
删除绑定:httpcfg delete iplisten -i 218.87.96.161
在本例中运行: httpcfg set iplisten -i 218.87.96.161 即可使IIS只占用 218.87.96.161 IP地址 (若是要监听多个IP,分别指定几条就行了。)
四、重新启动服务器
查看两个WEB环境是否正常。用 netstat -an | find ":80" 命令就可以查看所有的80端口,最后测试两个IP的网站是否正常。

终于成功。

用上面方法可能不成功,google了很久找到下面文章,试验成功:
Socket Pooling bei Windows Server 2003 und ISA Server

Die Informationen in diesem Artikel beziehen sich auf:

    Microsoft ISA Server 2000
    Microsoft ISA Server 2004
    Microsoft ISA Server 2006
    Microsoft Windows Server 2003

Im Artikel Socket Pooling W2k wurde bereits das Socket Pooling Problem unter Windows 2000 besprochen.

Auch unter Windows Server 2003 und dem IIS 6.0 ist es so, dass standardmäßig die IP-Adresse 0.0.0.0 mit Port 80 an den IIS gebunden ist. Zwar wird der IIS nicht mehr automatisch mitinstalliert und kommt somit dem ISA in der Regel nicht in die Quere, aber in verschiedenen Einsatzzwecken ist es gegebenenfalls erforderlich, dass dennoch auf der ISA Maschine ein IIS installiert ist.

C:\Programme\Support Tools>netstat -na | more

Aktive Verbindungen

Proto   Lokale Adresse     Remoteadresse Status
TCP     0.0.0.0:80         0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:135        0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:445        0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:1025       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:1723       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:3003       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:3004       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:3013       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:3023       0.0.0.0:0     ABHÖREN
TCP     127.0.0.1:11223    0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:139    0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:1080   0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:1745   0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:3500   0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:3501   0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:3502   0.0.0.0:0     ABHÖREN
-- Fortsetzung --

Dann wird es erstmal Schwierigkeiten geben, wenn eine Webseite auf Port 80 hören will, denn der ISA beansprucht auch den Port 80. Wenn man jedoch die Webseite auf die internen IP Adresse des ISA konfiguriert und das Socket Pooling abschaltet, stellt dies kein Problem mehr dar.

Um das Socket Pooling abzuschalten sind folgende Schritte notwendig:

1. Socket Pooling für HTTP abschalten:

    Von der Windows Server 2003 CD aus dem Verzeichnis <cd:>\support\tools die "Windows Server 2003-Supporttools " (suptools.msi) installieren

    Z:\SUPPORT\TOOLS>dir
    Datenträger in Laufwerk Z: ist W2K3_DE
    Volumeseriennummer: 4840-49D1

    Verzeichnis von Z:\SUPPORT\TOOLS

    26.03.2003 14:00 <DIR> .
    26.03.2003 14:00 <DIR> ..
    26.03.2003 14:00 1.887.881     DEPLOY.CAB
    26.03.2003 14:00 26.624        GBUNICNV.EXE
    26.03.2003 14:00 3.649.024     MSRDPCLI.EXE
    26.03.2003 14:00 335.360       NETSETUP.EXE
    26.03.2003 14:00 3.693.065     SUPPORT.CAB
    26.03.2003 14:00 245.760       SUPTOOLS.MSI
    26.03.2003 14:00 944.976       SUP_PRO.CAB
    26.03.2003 14:00 946.681       SUP_SRV.CAB
    8 Datei(en) 11.729.371 Bytes
    2 Verzeichnis(se), 0 Bytes frei
    Durch net stop http /y den IIS HTTP-Dienst anhalten

    C:\Programme\Support Tools>net stop http /y
    Die folgenden Dienste hängen vom Dienst HTTP ab.
    Das Beenden des Dienstes HTTP beendet auch diese Dienste.

    WWW-Publishingdienst
    HTTP-SSL

    WWW-Publishingdienst wird beendet.
    WWW-Publishingdienst wurde erfolgreich beendet.

    HTTP-SSL wird beendet.
    HTTP-SSL wurde erfolgreich beendet.

    HTTP wurde erfolgreich beendet.
    Durch net stop w3proxy den ISA Server Webproxydienst anhalten

    C:\Programme\Support Tools>net stop w3proxy
    Microsoft Webproxy wird beendet..
    Microsoft Webproxy wurde erfolgreich beendet.
    Aus dem Verzeichnis c:\programme\support tools\ die Datei httpcfg.exe aufrufen:

    httpcfg delete iplisten -i 0.0.0.0

    Damit wird der IIS konfiguriert, nicht mehr auf alle IP Adressen zu hören

    C:\Programme\Support Tools>httpcfg delete iplisten -i 0.0.0.0
    HttpDeleteServiceConfiguration completed with 1168.
    Anschließend die IP festlegen, auf die der IIS hören soll:

    httpcfg set iplisten -i 172.16.19.1

    Wobei 172.16.19.1 nur als Beispiel dienen soll

    C:\Programme\Support Tools>httpcfg set iplisten -i 172.16.19.1
    HttpSetServiceConfiguration completed with 0.
    Mit net start http den IIS HTTP-Dienst starten

    C:\Programme\Support Tools>net start http
    HTTP wurde erfolgreich gestartet.
    Mit net start w3svc den IIS WWW Dienst neu starten

    C:\Programme\Support Tools>net start w3svc
    WWW-Publishingdienst wird gestartet.
    WWW-Publishingdienst wurde erfolgreich gestartet.
    Mit net start w3proxy den ISA Server Webproxydienst neu starten

    C:\Programme\Support Tools>net start w3proxy
    Microsoft Webproxy wird gestartet.
    Microsoft Webproxy wurde erfolgreich gestartet.

Anschließend gehört die 0.0.0.0 nicht mehr dem IIS:

C:\Programme\Support Tools>netstat -na | more

Aktive Verbindungen

Proto   Lokale Adresse     Remoteadresse Status
TCP     0.0.0.0:135        0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:445        0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:1025       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:1723       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:3003       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:3004       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:3013       0.0.0.0:0     ABHÖREN
TCP     0.0.0.0:3023       0.0.0.0:0     ABHÖREN
TCP     127.0.0.1:11223    0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:139    0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:1080   0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:1745   0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:3500   0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:3501   0.0.0.0:0     ABHÖREN
TCP     172.16.19.1:3502   0.0.0.0:0     ABHÖREN
-- Fortsetzung --

2. Deaktivieren des Socket Pooling für FTP

Es sind folgende Schritte notwendig (in einem Kommandozeilenfenster):

    cd c:\Inetpub\AdminScripts
    net stop msftpsvc
    cscript adsutil.vbs set msftpsvc/disablesocketpooling true
    net start msftpsvc

3. Deaktivieren des Socket Pooling für SMTP

Es sind folgende Schritte notwendig (in einem Kommandozeilenfenster):

    cd c:\Inetpub\AdminScripts
    net stop smtpsvc
    cscript adsutil.vbs set smtpsvc/disablesocketpooling true
    net start smtpsvc

4. Deaktivieren des Socket Pooling für POP3

Es sind folgende Schritte notwendig (in einem Kommandozeilenfenster):

    cd c:\Inetpub\AdminScripts
    net stop pop3svc
    cscript adsutil.vbs set pop3svc/disablesocketpooling true
    net start pop3svc

5. Deaktivieren des Socket Pooling für IMAP

Es sind folgende Schritte notwendig (in einem Kommandozeilenfenster):

    cd c:\Inetpub\AdminScripts
    net stop imap4svc
    cscript adsutil.vbs set imap4svc/disablesocketpooling true
    net start imap4svc

===================================

D:\USASERVER>net stop http /y

D:\USASERVER>net stop w3proxy

D:\USASERVER>httpcfg delete iplisten -i 0.0.0.0
HttpDeleteServiceConfiguration completed with 1168.

D:\USASERVER>httpcfg set iplisten -i 204.13.71.152
HttpSetServiceConfiguration completed with 183.

D:\USASERVER>net start http
The requested service has already been started.

More help is available by typing NET HELPMSG 2182.


D:\USASERVER>net start w3svc
The World Wide Web Publishing Service service is starting.
The World Wide Web Publishing Service service was started successfully.


D:\USASERVER>net start w3proxy
The service name is invalid.

More help is available by typing NET HELPMSG 2185.


D:\USASERVER>netstat -na | more

Active Connections

Proto Local Address          Foreign Address        State
TCP    0.0.0.0:21             0.0.0.0:0              LISTENING
TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
TCP    0.0.0.0:1025           0.0.0.0:0              LISTENING
TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING
TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING
TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING
TCP    127.0.0.1:43958        0.0.0.0:0              LISTENING
TCP    205.209.136.186:3389   120.42.64.11:5771      ESTABLISHED
UDP    0.0.0.0:445            *:*
UDP    0.0.0.0:500            *:*
UDP    0.0.0.0:1434           *:*
UDP    0.0.0.0:4500           *:*
UDP    127.0.0.1:123          *:*
UDP    127.0.0.1:1332         *:*
UDP    204.13.71.152:123      *:*
UDP    204.13.71.153:123      *:*
UDP    204.13.71.154:123      *:*
UDP    204.13.71.155:123      *:*
UDP    204.13.71.156:123      *:*
UDP    204.13.71.157:123      *:*
UDP    204.13.71.158:123      *:*
UDP    204.13.71.159:123      *:*
UDP    205.209.136.186:123    *:*
-- More --

已经毙掉0.0.0.0:80
您知道吗,申请VIP会员可以免回复下载,无广告骚扰, 点此处申请

本版积分规则

小黑屋|手机版|Archiver|4K蓝光论坛

GMT+8, 2024-4-30 04:43

Copyright © 2001-2021, Gadaddy Cloud.

快速回复 返回顶部 返回列表