- 积分
- 19840
- 经验
- 1998 点
- 热情
- 1989 点
- 魅力
- 145 点
- 信誉
- 1406 度
- 金币
- 2571 枚
- 钻石
- 41 颗
- 蓝光币
- 10 ¥
Forum CEO
- 金币
- 2571 枚
- 体力
- 12433 点
|
服务器两个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
|
|