![为什么 Apache 没有监听其他端口?](https://linux22.com/image/701769/%E4%B8%BA%E4%BB%80%E4%B9%88%20Apache%20%E6%B2%A1%E6%9C%89%E7%9B%91%E5%90%AC%E5%85%B6%E4%BB%96%E7%AB%AF%E5%8F%A3%EF%BC%9F.png)
我在 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 不会出现任何有趣的定制。)