【发布时间】:2011-08-22 21:52:18
【问题描述】:
我正在使用 Windows 7。IIS 7 和 XAMPP 安装在同一台计算机上。 我一直在玩win主机文件和apache配置文件来了解Server Root和目录。
我不知道我在哪里搞砸了,我知道当我输入 localhost 时它会显示 IIS 7 屏幕,而当 localhost/xampp 时显示 apache 屏幕。
IIS 和 apache 如何在 80 端口同时运行?困惑。
【问题讨论】:
我正在使用 Windows 7。IIS 7 和 XAMPP 安装在同一台计算机上。 我一直在玩win主机文件和apache配置文件来了解Server Root和目录。
我不知道我在哪里搞砸了,我知道当我输入 localhost 时它会显示 IIS 7 屏幕,而当 localhost/xampp 时显示 apache 屏幕。
IIS 和 apache 如何在 80 端口同时运行?困惑。
【问题讨论】:
这是可行的。要记住的是,没有 2 个服务可以共享相同的端口和 IP 地址。不幸的是,IIS 在神奇的 0.0.0.0 地址上完全接管了端口 80。您需要做的是将 apache 和 IIS 重新绑定到不同的 IP 地址以及删除 0.0.0.0 绑定。不完全确定如何在 IIS7 上到达那里(假设您在屏幕中使用 IE9 运行它),上次我拉这个特技 IIS6 是轴。
一个更明智的选择是在 80 上设置一个反向代理,并让它根据您想要使用的任何合理标准将内容分发给不同的 Web 服务器。
编辑:找到了魔法juju,IIS7 post #44 - IIS7 and Apache on the same machine.
【讨论】:
如何在同一台机器上同时运行 IIS 和 XAMPP
只需更改任一服务器的端口号,即可在同一台机器上同时运行 IIS 和 XAMPP 服务器。 XAMPP-Apache 和 IIS 都使用服务器的同一个端口 80 进行连接。在这篇文章中,我将向您展示如何更改 XAMPP-Apache 服务器的端口号。更改 Apache 服务器的端口号可以让您在同一台机器上使用不同的端口同时运行 IIS 和 XAMPP 服务器。
首先,您需要知道安装 XAMPP 的文件夹(根文件夹)。默认文件夹是 c:\xampp。从根文件夹导航到“apache\conf”文件夹并找到文件“httpd.conf”。
在编辑文件之前,使用名称“httpd.conf.bak”对其进行备份,以便在出现问题时可以替换此文件。 现在使用记事本等编辑器打开文件“httpd.conf”。您需要对文件进行两次编辑。
第一个:
找出文件中的以下几行。
#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80
如下图修改:
#Listen 0.0.0.0:80
#Listen [::]:80
Listen 8080
第二次编辑:
找到下面一行:
ServerName localhost:80
改成:
ServerName localhost:8080
您已完成更改端口号。现在从 xampp 控制面板重新启动您的 apache 服务器并准备运行。
打开浏览器并输入地址localhost:8080。您可以看到打开的 apache 的根文件夹。无需对 IIS 服务器进行任何更改,您只需在浏览器中输入地址 localhost 即可访问它。
在上面的屏幕截图中,您可以看到在同一台机器甚至同一浏览器上一次通过localhost 访问IIS 服务器和通过localhost:8080 访问XAMPP 服务器。
【讨论】:
如果试图让 XAMPP (Apache) 和 IIS (5.1) 在 WinXP 上运行,我就是这样做的:
C:\xampp\apache\conf\httpd.conf: 搜索“听80”,改成“听8080” 搜索“ServerName localhost:80”,更改为“ServerName localhost:8080”
C:\xampp\apache\conf\extra\httpd-ssl.conf 搜索“听443”,改成“听4499” 搜索“”,更改为“” 搜索“ServerName localhost:443”,更改为“ServerName localhost:4499”
[然后,通过运行 localhost:8080 访问您的 Apache 端,并通过简单的 localhost 访问 ISS 端]
【讨论】:
只需更改 XAMPP 服务器使用的端口号,即可在同一台机器上同时运行 IIS 和 XAMPP。阅读本文了解如何更改端口号:
http://www.gooshareit.com/2012/03/how-to-run-iis-and-xampp-together-on.html
【讨论】:
我也遇到过同样的问题。但是我已经解决了这种方式。我是从here 那里得到的,当所有的解决方案都无法为我提供绝对的解决方案时,它对我来说真的很有效。
如果这不能解决问题,您可以找出使用端口 80 的内容,如下所示:
在命令提示符下,运行“netstat -ao > netstat.txt”将活动连接和关联的进程 ID (PID) 写入文件(对我来说,太多了,无法在命令提示符下查看它们) 找到监听端口 80 (0.0.0.0:80) 的 PID——对我来说,PID 是 4,这似乎很常见 打开任务管理器(Ctrl + Shift + Esc),右键单击列标题,然后单击 PID 以显示 PID 列。按 PID 排序以查找您在上面确定的 PID 的进程。 一旦你知道导致问题的过程,一些谷歌搜索(其他搜索提供程序可用)应该可以帮助你解决它。
【讨论】: