【问题标题】:Change browser/system default localhost port (80) to custom将浏览器/系统默认 localhost 端口 (80) 更改为自定义
【发布时间】:2015-09-03 04:32:04
【问题描述】:
【问题讨论】:
标签:
apache
xampp
localhost
wamp
wampserver
【解决方案1】:
如果 netstat 报告 PID 4 正在使用端口 80,这通常意味着 IIS、它也是一个 Web 服务器或它的相关工具之一正在运行。
微软有一个他们使用的端口共享机制,因此多个 IIS 等可以共享端口 80,但 Apache 不使用它。
查看您的系统(程序和功能)是否有以下任何一项,恐怕它不是一个完整的列表,但涵盖了最有可能的候选人。
- IIS
- Web Deploy 2.0(Web 部署代理服务)
- MS Sql Server 报告服务。
- BranchCache (Windows 8.1)
- 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,它提供了一些关于如何使用这个工具的额外示例。