如何在 80 以外的端口上将 Apache 虚拟主机配置为 运行

How can I configure Apache virtual hosts to run on port other than 80

我最近将笔记本电脑升级到 Win10(从 Win7)。这样做之后,我发现端口 80 上有东西 运行,所以我的 Apache 本地服务器将无法正常工作。我在尝试检测端口 80(不是 Skype)上的内容时迷路了,所以我正在尝试设置 Apache 以使用端口 8080。

我已经成功了一点。如果我在浏览器地址栏 (Firefox FWIW) 中输入 'localhost:8080',我会收到测试 'It works!' 消息。如果我输入常用的虚拟主机名并附加“:8080”,它也可以工作。但我肯定应该能够让它与 'localhost' 等一起工作?

我已将 httpd.conf 设置为 'Listen 8080'

我已经尝试将 v-hosts 定义的第一行设置为 <VirtualHost *:8080> 而不是之前的 <VirtualHost 127.0.0.1> 但这没有区别。

我曾尝试在 V-hosts 文件中的 ServerName 后附加“:8080”(这似乎合乎逻辑),但它不起作用。我也试过关闭我的卡巴斯基安全软件(但显然我不太喜欢这样做)。我已经阅读了几篇关于 Stack Overflow 和其他地方的文章,这些文章与我的问题很接近,但他们都认为我已经采取的步骤就足够了。

还有什么我应该做的吗?

这是来自 TcpView 的屏幕截图:

通常,在 Windows 中,您有 IIS (Internet Information Service) 使用您的端口 80。要停止此服务,请打开服务控制台并禁用该特定服务。或者,您可以将 IIS 配置为使用 80 以外的端口。


  1. 按 Win + R 键
  2. 键入 services.msc 以启动服务控制台
  3. 寻找 IIS 服务
  4. 右键单击 -> 禁用

就是这样。

你的第一个截图tcpview已经显示进程阻塞了80端口。但是它没有说80,它被翻译成端口上的协议名称运行ning 80,(通常)是 http.

要在 Local port 列中看到 80,您必须禁用翻译,这可以通过菜单或按 Ctrl + R 来完成:

要查看有关打开端口的进程的更多详细信息,您可能需要 运行 procexp(使用管理帐户)。

我认为其他人已经遇到了同样的问题,可以在堆栈交换的不同站点上找到解决方案:https://superuser.com/questions/352017/pid4-using-port-80