如何更改XAMPP Apache服务器端口?

153

这是我的Apache httpd.conf设置:

Listen 8012
ServerName localhost:8012
每次我通过XAMPP启动Apache时,我都会看到这个消息:
Status Check OK
Busy…
Apache Started [Port 80]

请问有人可以帮我吗?我能改变其他设置吗?


2
请关注此线程。https://dev59.com/d1zUa4cB1Zd3GeqP4IuS#8586632 你可能会发现它很有用。 - Presha
7个回答

414

回答原问题:

更改 XAMPP Apache 服务器端口的步骤如下:

1. 选择一个空闲的端口号

Apache 默认使用的端口号是 80

使用 Netstat(集成在 XAMPP 控制面板中)查看所有已使用的端口

XAMPP 控制面板中的 netstat

然后,您可以看到所有已使用的端口,这里我们可以看到 80 端口已被占用,被系统占用了。

netstat 显示端口 80

选择一个空闲的端口号(例如 8012)。

2. 编辑文件 "httpd.conf"

该文件应该位于 Windows 下的 C:\xampp\apache\confLinux 下的 bin/apache 目录中:

Listen 80
ServerName localhost:80

请将它们替换为:

Listen 8012
ServerName localhost:8012

保存文件。

访问:http://localhost:8012 检查是否正常工作。

如果不行,您必须按照下方的 步骤3 编辑http-ssl.conf 文件。↓

3. 编辑 "http-ssl.conf" 文件

Windows 上,该文件应位于 C:\xampp\apache\conf\extra 目录下,或参考此链接Linux 上查找。

找到以下几行代码:

Listen 443
<VirtualHost _default_:443>
ServerName localhost:443

使用其他端口号(例如此处的8013)替换它们:

Listen 8013
<VirtualHost _default_:8013>
ServerName localhost:8013

保存文件。

重新启动Apache服务器。

访问:http://localhost:8012检查是否工作正常。

4. 配置XAMPP Apache服务器设置

如果您想在URL中访问localhost而不需要指定端口号,则应
http://localhost而不是http://localhost:8012

  • 打开XAMPP控制面板
  • 转到ConfigService and Port SettingsApache
  • Main PortSSL Port的值替换为所选值(例如80128013)。
  • 保存Service settings
  • 保存Configuration of Control Panel
  • 重新启动Apache服务器 xampp apache setting port 现在应该可以正常使用了。

4.1. Web浏览器配置

如果这个配置没有隐藏URL中的端口号,那么可能是因为您的Web浏览器没有进行配置。请参见:Tools ► Options ► General ► Connection Settings...,这将允许您选择不同的端口或更改代理设置。

4.2. 对于非常罕见的极端情况

如果步骤4和Web浏览器配置都不能解决问题,则唯一的方法是将其更改回80,或在端口80上安装一个监听器(如代理),将所有流量重定向到端口8012。

为了解决您的问题:

如果您仍然在控制面板控制台中看到此消息:

Apache Started [Port 80]

  • 找到xampp-control.exe文件的位置(可能在C:\xampp中)
  • 在该目录中创建一个XAMPP.INI文件(因此,XAMPP.inixampp-control.exe在同一个目录中)

将以下行放入XAMPP.INI文件中:

[PORTS]
apache = 8012

现在,你将始终收到:

Apache已启动[端口8012]

请注意,这仅用于显示目的。它与您的httpd.conf无关。


1
太棒了!这是一个永久的解决方案,其他方法(考虑到暂时性和可能的不良影响)是结束正在使用这些端口的进程。 - Benjamin RD
但是在尝试第四步之后,它不会像预期的那样工作,因为IIS将显示而不是XAMPP。我错过了什么步骤吗? - m hanif f
4
我按照第四步操作了,但仍然无法在没有端口的情况下访问本地主机。请问有人可以提供建议吗? - MauF
2
第四步有任何更新吗?我尝试了但不起作用,仍需要包括端口。 - ßiansor Å. Ålmerol
1
@PeterCo 是的,那是个打错字。我已经修正了。谢谢你的提醒。 - Antoine Subit
显示剩余3条评论

40
最佳解决方案是重新配置XAMPP Apache服务器以便监听和使用不同的端口号。以下是操作步骤:
1)首先,您需要打开Apache“httpd.conf”文件,并将其配置为使用/监听新的端口号。要打开httpd.conf文件,请单击Apache“Start”和“Admin”按钮旁边的“ Config”按钮。在打开的弹出菜单中,单击并打开httpd.conf。
2)在httpd.conf文件内搜索“listen”。您会找到两行类似于以下内容的代码:
#Listen 12.34.56.78:80
Listen 80

将端口号更改为您选择的端口号(例如端口1234),如下所示

#Listen 12.34.56.78:1234
Listen 1234

3)接下来,在相同的httpd.conf文件中查找“ServerName localhost:”,将其设置为新的端口号。

ServerName localhost:1234

4) 保存并关闭httpd.conf文件。

5) 现在再次单击Apache配置按钮,打开“httpd-ssl.conf”文件。

6) 在httpd-ssl.conf文件中,再次查找“Listen”。您可能会找到:

Listen 443

将其更改为侦听您选择的新端口号,例如:

Listen 1443

7)在同一 httpd-ssl.conf 文件中找到另一行,该行显示为 <VirtualHost _default_:443>。将其更改为新端口号(例如1443)。

8)同样在 httpd-ssl.conf 文件中,您可以找到另一行定义端口号的内容。查找“ServerName”。您可能会找到类似以下内容:

ServerName www.example.com:443 or  ServerName localhost:433

将ServerName更改为您的新端口号。

8)保存并关闭httpd-ssl.conf文件。

9)最后,还有一个地方需要更改端口号。点击并打开XAMPP控制面板的“Config”按钮。然后点击“Service and Port Settings”按钮。在其中,点击“Apache”选项卡,并在“main port”和“SSL port”框中输入并保存新的端口号。单击保存并关闭配置框。

这样就完成了。现在“启动”Apache,如果一切顺利,您的Apache服务器应该会启动。

您还将在XAMPP控制面板中看到Apache端口号已更改为您设置的新端口ID。


在 macOS 上对我没用 - Abhishek Kumar

4
如果 XAMPP 服务器 正在运行,请停止 XAMPP 服务器。
按照以下步骤更改端口号。
打开以下位置中的文件。
[XAMPP Installation Folder]/apache/conf/httpd.conf

打开 httpd.conf 文件并搜索字符串:

Listen 80

这是 XAMPP 使用的端口号。
然后搜索字符串 ServerName 并更新先前为 Listen 输入的 端口号现在保存并重新启动 XAMPP 服务器。

3
您尝试过在重新启动Apache后,通过输入“http://localhost:8012”来访问您的页面吗?

1
是的,它在本地主机上运行正常:8012,但当我尝试使用我的IP地址远程访问时,http://my-ip-address:8012会出现页面未找到错误。 - Sathishkumar
1
当使用未连接到同一网络的设备时,您需要确保使用公共/路由器的IP,并确保您的路由器知道将该端口的所有请求转发到托管设备。这里是一个类似问题的很好的回答,应该解释如何做到这一点。我建议使用NoIP来获取不会更改的URL。此外,使用NoIP,您可以直接转发到特定端口,因此无需附加URL。 - Trevin Avery

2

我也遇到了问题。我切换了端口,但无法在8012上启动。

Skype也涉及其中,因为它使用相同的80端口。它无法让apache更改其端口。

所以,在启动任何其他程序之前,只需重新启动计算机并首先打开xampp,在httpd.conf中更改端口,例如从80更改为8000或8012。

Listen 80
ServerName localhost:80

重新启动XAMPP,启动Apache,检查本地主机。


2
实际上,Skype端口是动态的,如果已经被占用,它可以更改端口。更简单的解决方案是退出Skype,然后启动Apache,再重新启动Skype。这是一次性操作,可以解决问题。 - Musa Haidari
是的,它解决了问题。但对于那些不想每次重新启动Skype的人来说,他们可以使用这个。 - Luke359

1

如果以上端口ID不起作用,则更改它,例如8082、8080。 重新启动XAMPP,启动Apache服务器,检查一下。现在可以正常工作了。


0
如果是Ubuntu操作系统: 前往 cd /opt/lampp/etc/
vim httpd.conf

在这里,您可以更改侦听端口号。

如果您想更改SSL端口:

`vim /opt/lampp/etc/extra/httpd-ssl.conf` -> Change the SSL Listen port

并且 vim /opt/lampp/properties.ini -> 在这里也进行更改


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