将 browser/system 默认本地主机端口 (80) 更改为自定义
Change browser/system default localhost port (80) to custom
当我使用 XAMPP 或 WAMP 时出现以下问题:
XAMPP - Port 80 in use by "Unable to open process" with PID 4! 12
而且很容易解决,改Apache的.ini文件,告诉他使用8080端口(举例)...
但是我总是需要在 URL 中指定自定义端口:
虽然不修改默认的Apache localhost端口:当他是原来的80时,我可以直接放:
所以我猜端口 80 不仅是 Apache 的默认端口,也是其他东西的默认端口。我的问题是是否有其他方法可以配置 browser/windows-system/whatever 的默认参数,告诉他默认的本地主机端口现在是 8080(例如),所以我仍然可以使用较短的 URL 版本...
谢谢,
根据 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 提供了一些额外的示例来说明如何使用此工具。
如果 netstat 报告 PID 4 正在使用端口 80,这通常意味着 IIS,它也是一个 Web 服务器,或其关联工具之一是 运行。
Microsoft 有一个他们使用的端口共享机制,因此 IIS 等的多个位可以共享端口 80,但 Apache 不使用它。
查看您的系统(程序和功能)是否有以下任何一项,恐怕它不是完整列表,但涵盖了最有可能的候选人。
- IIS
- Web Deploy 2.0 (Web Deployment Agent Service)
- MS Sql Server Reporting service.
- BranchCache ( Windows 8.1 )
- SQL Server VSS Writer
如果您不使用其中任何一个,请卸载它们,在 W8+ 中,MS 似乎认为默认安装 IIS 是个好主意,但如果您不使用它,则可以毫无问题地卸载它。
或者,如果您正在使用它们,但不是在您使用 Apache/MySQL/PHP 进行开发时,您应该从服务管理单元中暂时禁用它们。
当我使用 XAMPP 或 WAMP 时出现以下问题:
XAMPP - Port 80 in use by "Unable to open process" with PID 4! 12
而且很容易解决,改Apache的.ini文件,告诉他使用8080端口(举例)...
但是我总是需要在 URL 中指定自定义端口:
虽然不修改默认的Apache localhost端口:当他是原来的80时,我可以直接放:
所以我猜端口 80 不仅是 Apache 的默认端口,也是其他东西的默认端口。我的问题是是否有其他方法可以配置 browser/windows-system/whatever 的默认参数,告诉他默认的本地主机端口现在是 8080(例如),所以我仍然可以使用较短的 URL 版本...
谢谢,
根据 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 提供了一些额外的示例来说明如何使用此工具。
如果 netstat 报告 PID 4 正在使用端口 80,这通常意味着 IIS,它也是一个 Web 服务器,或其关联工具之一是 运行。
Microsoft 有一个他们使用的端口共享机制,因此 IIS 等的多个位可以共享端口 80,但 Apache 不使用它。
查看您的系统(程序和功能)是否有以下任何一项,恐怕它不是完整列表,但涵盖了最有可能的候选人。
- IIS
- Web Deploy 2.0 (Web Deployment Agent Service)
- MS Sql Server Reporting service.
- BranchCache ( Windows 8.1 )
- SQL Server VSS Writer
如果您不使用其中任何一个,请卸载它们,在 W8+ 中,MS 似乎认为默认安装 IIS 是个好主意,但如果您不使用它,则可以毫无问题地卸载它。
或者,如果您正在使用它们,但不是在您使用 Apache/MySQL/PHP 进行开发时,您应该从服务管理单元中暂时禁用它们。