【问题标题】:Apache and IIS 7 running togetherApache 和 IIS 7 一起运行
【发布时间】:2011-08-22 21:52:18
【问题描述】:

我正在使用 Windows 7。IIS 7 和 XAMPP 安装在同一台计算机上。 我一直在玩win主机文件和apache配置文件来了解Server Root和目录。

我不知道我在哪里搞砸了,我知道当我输入 localhost 时它会显示 IIS 7 屏幕,而当 localhost/xampp 时显示 apache 屏幕。

IIS 和 apache 如何在 80 端口同时运行?困惑。

【问题讨论】:

    标签: php apache iis iis-7


    【解决方案1】:

    这是可行的。要记住的是,没有 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 7、Windows 2008 上成功运行。
    • 奇怪,如果从 firefox 输入 localhost,它会显示 localhost 为 apache。但我尝试从 IE 9 显示 iis 7 主页。
    • 回显远程 ip,可能是使用 v6 而不是 v4。
    • 如何回显浏览器的 ips 或检查哪个浏览器正在使用哪个版本的 IP
    • 编写一个简单的页面,将远程 ip 服务器变量发送到输出。很难给出确切的说明,因为我不确定您使用的是什么。可以通过前往127.0.0.1 和 http://[::1] 以积极的方式尝试它
    【解决方案2】:

    如何在同一台机器上同时运行 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 服务器。

    【讨论】:

      【解决方案3】:

      如果试图让 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 端]

      【讨论】:

      • 简单有效..非常感谢..在 C:\xampp\apache\conf\extra\httpd-ssl.conf 文件中,我在 localhost 上使用了 ServerName 示例网站。在两个文件(不仅是 httpd.conf)更改后,我就可以启动 xamp v3.2.2 和 IIS。
      【解决方案4】:

      只需更改 XAMPP 服务器使用的端口号,即可在同一台机器上同时运行 IIS 和 XAMPP。阅读本文了解如何更改端口号:

      http://www.gooshareit.com/2012/03/how-to-run-iis-and-xampp-together-on.html

      【讨论】:

        【解决方案5】:

        我也遇到过同样的问题。但是我已经解决了这种方式。我是从here 那里得到的,当所有的解决方案都无法为我提供绝对的解决方案时,它对我来说真的很有效。

        1. 转到控制面板 > 管理工具 > 单击服务
        2. 查找“万维网发布服务”
        3. 右键单击并选择“停止”
        4. 右键单击并选择“属性”,然后将“启动类型”更改为“手动”

        如果这不能解决问题,您可以找出使用端口 80 的内容,如下所示:

        在命令提示符下,运行“netstat -ao > netstat.txt”将活动连接和关联的进程 ID (PID) 写入文件(对我来说,太多了​​,无法在命令提示符下查看它们) 找到监听端口 80 (0.0.0.0:80) 的 PID——对我来说,PID 是 4,这似乎很常见 打开任务管理器(Ctrl + Shift + Esc),右键单击列标题,然后单击 PID 以显示 PID 列。按 PID 排序以查找您在上面确定的 PID 的进程。 一旦你知道导致问题的过程,一些谷歌搜索(其他搜索提供程序可用)应该可以帮助你解决它。

        【讨论】:

        • 这个答案很完美!将 WWW Publishing Service 设置为手动启动后,现在我可以停止 IIS 并根据我正在处理的项目启动 XAMPP。谢谢!
        猜你喜欢
        • 1970-01-01
        • 2011-07-24
        • 2010-09-30
        • 1970-01-01
        • 2011-04-23
        • 1970-01-01
        • 1970-01-01
        • 2010-11-19
        • 2017-12-20
        相关资源
        最近更新 更多