Apache服务器安装失败(端口80或443已被占用)

5

我有一个关于PHP的问题。我是一名.NET开发人员,通常使用ASP.NET和C#进行工作。我已经在我的笔记本电脑上安装了Visual Studio和SQL Server。现在,我正在尝试在我的系统上安装Xampp服务器,但出现了一些问题。在安装之后,当它检查端口时,它显示端口80或443已被使用,Apache服务器安装失败。我猜想这是由于我在系统中安装了IIS造成的。我停止了IIS并重新安装了Xampp,但仍然遇到同样的问题。我为此卸载了Skype,但仍然没有起作用。请告诉我为什么会发生这种情况,并提供解决方案。希望你明白我的问题,请帮助我解决它。


首先找到正在使用该端口的程序:https://dev59.com/rHM_5IYBdhLWcg3wTRLL - user4035
卸载IIS时,它是否正常工作?如果您想同时运行IIS或Apache服务器,您必须更改其中一个服务器的端口。它们不能同时监听同一个端口。 - becquerel
@becquerel,我该如何更改Apache的端口?我一点都不知道,请告诉我吧。 - mani rajput
你有安装 Skype 吗? - Cole Tobin
@ColeJohnson 我曾经安装过它,但是我已经从我的系统中卸载了它。 - mani rajput
1
你需要编辑你的httpd.conf文件。它应该在你的xampp apache/conf文件夹中。简而言之,你应该能够在文件中找到:80并将其替换为另一个端口。请参考http://forum.wampserver.com/read.php?2,13744。 - becquerel
7个回答

9

解决方法:

打开 Skype 并点击 工具,选择 选项。从弹出的列表中选择 高级,然后选择 连接。在其中一栏中可能会看到一个勾选框,上面写着“将端口 80 和 443 用作传入连接的替代方案”,把它取消勾选并保存更改。 Skype 将正常运行,现在 XAMPP 就可以使用端口 80 运行了。

有用的链接

如果你没有安装 Skype

  • 找到文件 httpd.conf。该文件应位于 C:\xampp\apache\conf 中(或者你安装 XAMPP 的其他目录)。

  • 使用 文本编辑器 打开该文件。

  • 找到一行写着 Listen 80 的代码。

  • 更改端口号 (80) 为其他数字(例如:1234)。

  • 重新启动 Apache 服务器,使更改生效。通过点击 XAMPP 控制面板上的 停止 按钮,然后点击 启动 按钮来完成此操作。

  • 当你连接到 Apache 服务器时,你将需要将端口号添加到 URL 中,之前你键入的是 localhost,现在你需要键入的是 localhost:1234

另一个有用的链接


你可以在 httpd.conf 中更改 XAMPP 的端口。 - Ajith S

5

解决方案1:

关闭运行在80端口上的程序,可能是像SKYPE这样的程序。

对于命令行退出:

在Windows中:

for /f "tokens=5" %a in ('netstat -aon ^| find ":80" ^| find "LISTENING"') do taskkill /f /pid %a

在 Linux 中,只需使用以下命令:
sudo fuser -k 80/tcp

安装wamp(Windows)、lamp(Linux)或mamp(Mac)...即使您的端口被占用,安装也不会失败。

解决方法2:

安装后启动程序。左键单击任务栏托盘中的wamp图标,它会显示一个菜单

=> 进入apache => 进入httpd.config点击打开...

找到(Ctrl + F)listen:80并将其替换为listen port_number,例如listen:88listen:96等。

再次点击wamp图标...点击重新启动所有服务。

您的apache应该正常工作


1
谢谢提供的解决方案,现在WAMP可以正常工作了,谢谢 :) - mani rajput

1

有很多工具可以让你知道哪个程序已经在使用端口80或443。但我更喜欢使用一个简单的命令来查看。打开命令提示符,然后输入:

netstat -a

它将告诉您哪个程序正在使用端口80,并提供所有选项的解释。
netstat /?

这是关于修改Apache端口的第二部分问题。您需要在apache httpd.conf设置中更改设置:

Listen 80
ServerName localhost:80

Listen 8012
ServerName localhost:8012

然后尝试在网络浏览器中运行,网址为http://localhost:8012


无法连接,提示我启用信息。 - mani rajput

1

不改变 Skype 的另一个解决方案(针对端口 443):

首先,端口 443 是 HTTPS 默认端口。您需要在服务器上将其更改为其他端口(例如 4433)。但在这种情况下,每次想要使用 HTTPS 请求时都必须指定该新端口,例如:

"https://localhost:4433"   .just typing "https://localhost" will NOT work. 

要更改端口,请进入Apache服务器中的“htdocs”文件夹,并使用类似“notepad ++”的软件将所有“:443”替换为“:4433”。这些端口应该在“httpd-sni.conf”和“httpd-ssl.conf”中。

我认为在开发环境中进行更改是可以的。


1
正如所说 - 端口80和443已经被占用。这意味着端口80和443已经被其他服务器或应用程序使用。当我遇到这个问题时,是wamp服务器在使用这些端口(不是skype)。
我解决这个问题的方法是改变xampp的端口。
具体步骤:
1. 我配置了Apache的httpd.conf和httpd-ssl.conf文件。
2. 在httpd.conf文件中,将Listen 80(其中80是端口号)的值更改为另一个随机端口号(我选择了88)。
3. 在httpd-ssl.conf文件中,将Listen 443(其中443是端口号)的值更改为另一个随机端口号(我选择了4433)。
确保你的Apache服务器在配置文件中没有使用端口80和443,然后它就可以顺畅地工作了。

0

类型:

net stop was /y

以管理员身份在命令提示符中

admin command prompt


0

只需进入Apache目录并搜索以找到“httpd-ssl.conf”,然后打开它,然后搜索以找到443,您会发现3个,将所有这些都编辑为另一个数字,我编辑为886。然后保存文件并尝试运行Apache。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接