将浏览器/系统默认localhost端口(80)更改为自定义

时间:2015-06-17 18:54:32

标签: apache xampp localhost wamp wampserver

当我使用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,还适用于其他方面。我的问题是否有其他方法来配置browser / windows-system /的默认参数,告诉他默认的localhost端口现在是8080(例如),所以我仍然可以使用较短的URL版本...

谢谢,

2 个答案:

答案 0 :(得分:1)

根据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,它提供了一些如何使用此工具的示例。

答案 1 :(得分:1)

如果netstat报告PID 4正在使用端口80,则通常意味着IIS,其Web服务器或其相关工具之一正在运行。

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

请查看您的系统(程序和功能)以了解以下任何内容,我担心它不是一个完整的列表,但涵盖了最有可能的候选人。

  
      
  1. IIS
  2.   
  3. Web Deploy 2.0(Web部署代理服务)
  4.   
  5. MS Sql Server报告服务。
  6.   
  7. BranchCache(Windows 8.1)
  8.   
  9. SQL Server VSS Writer
  10.   

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

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