【问题标题】:Change browser/system default localhost port (80) to custom将浏览器/系统默认 localhost 端口 (80) 更改为自定义
【发布时间】:2015-09-03 04:32:04
【问题描述】:

当我使用 XAMPP 或 WAMP 时,出现以下问题:

XAMPP - Port 80 in use by "Unable to open process" with PID 4! 12

而且很容易解决,只需修改Apache的.ini文件,告诉他使用8080端口(例如)...

但是我总是需要在 URL 中指定自定义端口:

http://localhost.myapp:8080

虽然不修改默认的Apache localhost端口:当他是原来的80时,我可以直接放:

http://localhost.myapp

所以我猜端口 80 不仅适用于 Apache,而且适用于其他东西。我的问题是是否有其他方法可以配置浏览器/windows-system/whatever 的默认参数,告诉他默认 localhost 端口现在是 8080(例如),所以我仍然可以使用较短的 URL 版本...

谢谢,

【问题讨论】:

    标签: apache xampp localhost wamp wampserver


    【解决方案1】:

    如果 netstat 报告 PID 4 正在使用端口 80,这通常意味着 IIS、它也是一个 Web 服务器或它的相关工具之一正在运行。

    微软有一个他们使用的端口共享机制,因此多个 IIS 等可以共享端口 80,但 Apache 不使用它。

    查看您的系统(程序和功能)是否有以下任何一项,恐怕它不是一个完整的列表,但涵盖了最有可能的候选人。

    1. IIS
    2. Web Deploy 2.0(Web 部署代理服务)
    3. MS Sql Server 报告服务。
    4. BranchCache (Windows 8.1)
    5. SQL Server VSS 编写器

    如果您不使用其中任何一个,请卸载它们,在 W8+ 中,MS 似乎认为默认安装 IIS 是个好主意,但如果您不使用它,则可以毫无问题地卸载它。

    或者,如果您正在使用它们,但不是在使用 Apache/MySQL/PHP 进行开发时,您应该从服务管理单元中暂时禁用它们。

    【讨论】:

      【解决方案2】:

      根据RFC2616,HTTP 的默认端口是 80,因此浏览器旨在将没有定义端口的请求解释为对端口 80 的请求。据我所知,没有办法覆盖此默认值(无需对浏览器代码进行严重修改),适用于单个主机(例如 localhost)或所有主机。

      底线:如果要使用 80 以外的端口,则必须在请求中定义该端口,如 'localhost:8080/asset'。

      也就是说,这个命令应该告诉你在大多数 Linux 发行版中哪个程序正在监听端口 80(这样你就可以弄清楚是什么让 Apache 无法使用端口 80):

       sudo netstat -apn | grep :80
      

      例如,在我的小型测试服务器上,我得到以下输出:

      tcp        0      0 0.0.0.0:80            0.0.0.0:*             LISTEN      1491/apache2
      

      这告诉我它正在被 Apache (PID 1491) 使用。

      Netstat 是一个很棒的工具,这里有一个article,它提供了一些关于如何使用这个工具的额外示例。

      【讨论】:

        猜你喜欢
        • 2013-05-18
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 2013-08-25
        • 2016-07-20
        • 1970-01-01
        • 2015-11-30
        • 1970-01-01
        相关资源
        最近更新 更多