为什么 Apache 没有监听其他端口?

为什么 Apache 没有监听其他端口?

我在 OSX Sierra 下运行默认的 Apache(我认为是 Apple 的版本,而不是 Homebrew / Fink / MacPorts)。在配置计算机以用作服务器(可能分配或未分配任何域名)时,我尝试在不同的高编号端口上设置站点。

目前我已将以下内容包含在内/etc/apache2/httpd.conf

Listen 80
Listen 7000

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName swissarmyknife.localdomain
    ServerAlias multipurpose.localdomain server.localdomain server localhost
    DocumentRoot "/Users/christos/link"
    <IfModule dir_module>
        DirectoryIndex index.cgi index.php index.shtml index.html
    </IfModule>
    <FilesMatch "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">
        Require all denied
    </FilesMatch>
    <Files "rsrc">
        Require all denied
    </Files>
    <DirectoryMatch ".*\.\.namedfork">
        Require all denied
    </DirectoryMatch>
    ErrorLog "/private/var/log/apache2/multipurpose_error_log"
    LogLevel warn
    <IfModule log_config_module>
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>
        CustomLog "/private/var/log/apache2/access_log" combined
    </IfModule>
</VirtualHost>


<VirtualHost *:7000>
    ServerAdmin [email protected]
    ServerName biblesearch.localdomain
    ServerAlias biblesearch.localdomain biblesearch.localdomain biblesearch
    DocumentRoot "/Users/christos/websites/bible"
    <IfModule dir_module>
        DirectoryIndex index.cgi index.php index.shtml index.html
    </IfModule>
    <FilesMatch "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">
        Require all denied
    </FilesMatch>
    <Files "rsrc">
        Require all denied
    </Files>
    <DirectoryMatch ".*\.\.namedfork">
        Require all denied
    </DirectoryMatch>
    ErrorLog "/private/var/log/apache2/multipurpose_error_log"
    LogLevel warn
    <IfModule log_config_module>
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>
        CustomLog "/private/var/log/apache2/access_log" combined
    </IfModule>
</VirtualHost>

端口 80 上的服务有问题。它应该提供我创建的内容,但它只显示“成功了!”页面,我不确定它从哪里获取的。有一个/Library/WebServer/Documents/index.html.en可以解释“成功了!”但当我对该文件进行尝试性更改并重新加载页面源时,更改没有显示出来。

我尝试了几种方法,但无法在端口 7000 上建立连接。

Apache 过去曾正确显示过来自的材料/Users/christos/link,但我几乎想知道我是否编辑了错误的文件或类似的东西。

建议?

短暂性脑缺血发作,

答案1

我在一个不小的细节上错了:我的 Apache 安装在 下/usr/local,所以 Homebrew(可能)提供的是 Apache,而不是 Mac 的默认安装。当我在指定的index.html下编辑DocumentRoot并从查看源代码中重新加载时,更改立即出现。

(这可能是一个更好的安排,因为在过去升级到最新的 OSX 版本意味着重新添加对 Apache 安装的更改,而这些更改已经被升级所破坏,因为升级假定 WRT Apache 不会出现任何有趣的定制。)

相关内容