为什么我需要在升级到 High Sierra 时从我的配置文件中删除 "Listen 80"?
Why Did I Need to Drop "Listen 80" From My Config Files With My Upgrade to High Sierra?
升级到 High Sierra 后我的本地网站访问失败,就像每次升级后一样。这一次我虽然在上面,因为我将所有更改都放入 /other/overides.conf 中。它仍然没有用。我终于能够通过在它出现的每个地方删除 Listen 80 来修复它。这个新代码附带了最新的 httpd.conf
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
显然,更改与较新版本的 Apache 有关。更改的原因是什么,我是否正确修复了它?
在以前的 macOS 版本中,您提到的部分是 Listen 80
行,位于 /etc/apache2/httpd.conf
开头的相同位置。纯粹是为了在升级 macOS 时方便设置,这是放置您自己的 Listen
指令的正确位置。例如,每次升级时,我都会将该行替换为
Listen 80
Listen 81
Listen 82
然后恢复我现有的 httpd-vhosts.conf
文件,我在其中保留了尽可能多的自定义配置。
(你暗示你在很多地方都有 Listen
指令,我不确定为什么会这样。将它们全部放在一个地方更常见,当然更容易,特别是当你处理 Apple 的 'Groundhog Day' 配置文件方法时)
我找不到关于新表单的任何文档,并且在 High Sierra 配置文件或 Apache 的 launchd
调用中没有提到它。但它的作用非常清楚:它根据是否设置了某个参数来选择两个备用 Listen
配置之一。唯一可以想到的原因是允许 Apple 在两种不同的设置之间切换,而无需修改 http.conf
文件。我猜它与某处的复选框有关,可能在服务器应用程序(我没有安装)中,或者它可能预示着未来的一些选择。
无论如何,我的推理是:以前我修改了Apache所做的而不是监听80端口,所以这是我现在应该修改的部分。因此,我将新的 High Sierra httpd.conf
更改为:
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
Listen 81
Listen 82
</IfDefine>
这似乎工作正常。据推测,如果神秘的 SERVER_APP_HAS_DEFAULT_PORTS
参数在我的计算机上变为真,那么它的全部内容就会很明显。
升级到 High Sierra 后我的本地网站访问失败,就像每次升级后一样。这一次我虽然在上面,因为我将所有更改都放入 /other/overides.conf 中。它仍然没有用。我终于能够通过在它出现的每个地方删除 Listen 80 来修复它。这个新代码附带了最新的 httpd.conf
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
显然,更改与较新版本的 Apache 有关。更改的原因是什么,我是否正确修复了它?
在以前的 macOS 版本中,您提到的部分是 Listen 80
行,位于 /etc/apache2/httpd.conf
开头的相同位置。纯粹是为了在升级 macOS 时方便设置,这是放置您自己的 Listen
指令的正确位置。例如,每次升级时,我都会将该行替换为
Listen 80
Listen 81
Listen 82
然后恢复我现有的 httpd-vhosts.conf
文件,我在其中保留了尽可能多的自定义配置。
(你暗示你在很多地方都有 Listen
指令,我不确定为什么会这样。将它们全部放在一个地方更常见,当然更容易,特别是当你处理 Apple 的 'Groundhog Day' 配置文件方法时)
我找不到关于新表单的任何文档,并且在 High Sierra 配置文件或 Apache 的 launchd
调用中没有提到它。但它的作用非常清楚:它根据是否设置了某个参数来选择两个备用 Listen
配置之一。唯一可以想到的原因是允许 Apple 在两种不同的设置之间切换,而无需修改 http.conf
文件。我猜它与某处的复选框有关,可能在服务器应用程序(我没有安装)中,或者它可能预示着未来的一些选择。
无论如何,我的推理是:以前我修改了Apache所做的而不是监听80端口,所以这是我现在应该修改的部分。因此,我将新的 High Sierra httpd.conf
更改为:
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
Listen 81
Listen 82
</IfDefine>
这似乎工作正常。据推测,如果神秘的 SERVER_APP_HAS_DEFAULT_PORTS
参数在我的计算机上变为真,那么它的全部内容就会很明显。