当我使用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 /的默认参数,告诉他默认的localhost端口现在是8080(例如),所以我仍然可以使用较短的URL版本...
谢谢,
答案 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没有使用它。
请查看您的系统(程序和功能)以了解以下任何内容,我担心它不是一个完整的列表,但涵盖了最有可能的候选人。
- IIS
- Web Deploy 2.0(Web部署代理服务)
- MS Sql Server报告服务。
- BranchCache(Windows 8.1)
- SQL Server VSS Writer
醇>
如果你没有使用其中任何一个然后卸载它们,在W8 + MS中似乎认为默认安装IIS是一个好主意,但如果你没有使用它,你可以毫无问题地卸载它。
或者,如果您正在使用它们,而不是在使用Apache / MySQL / PHP开发时,则应暂时从服务管理单元中禁用它们。