如何在 MacOS X Lion 上访问服务器状态?

如何在 MacOS X Lion 上访问服务器状态?

我正在运行 10.7.4。我已启动并运行 Apache。它按预期提供 html 和 php。我正在尝试apachectl并想看看fullstatus发生了什么。完整的命令是:

 $ apachectl fullstatus

命令行上的响应是:

Go to http://localhost:80/server-status in the web browser of your choice.
Note that mod_status must be enabled for this to work.

Aapachectl -t -D DUMP_MODULES | grep status显示:

Syntax OK
 status_module (shared)

执行此操作后,我收到 403 错误,提示我无权访问服务器状态。查看访问日志时,我看到:

localhost - - [29/May/2012:17:36:53 +0800] "GET /server-status HTTP/1.1" 403 324

错误日志:

[Tue May 29 17:36:53 2012] [error] [client ::1] client denied by server configuration: /Library/WebServer/Documents/server-status

我仔细研究了/etc/apache/httpd.conf但却什么也没发现。

如何配置 Apache 以便我可以查看服务器状态?

答案1

为了/server-status使用 mod_status 处理请求,您将需要在配置中的某处添加以下几行:

<Location /server-status>
  SetHandler server-status
</Location>

不要忘记使用以下方法限制对本地主机或其他受信任主机的访问允许否认或较新的要求指令。

答案2

如果您正在运行 Mac OS X 10.11 El Capitan,这就是解决方案。笔记:您需要管理员权限。(须藤

  • 取消/etc/apache2/httpd.conf注释这些行
    • 第 153 行:LoadModule status_module libexec/apache2/mod_status.so
    • 第 497 行:Include /private/etc/apache2/extra/httpd-info.conf
  • 现在打开/etc/apache2/extra/httpd-info.conf并将第 14-18 行更改为
    • <Location /server-status> SetHandler server-status Require host localhost </Location>

现在您可以使用 Web 浏览器打开该 URLhttp://localhost/server-status并查看 apache 状态。

对于“fullstatus”,请将文本放在ExtendedStatus On行的/etc/apache2/extra/httpd-info.conf正前方<Location /server-status>

相关内容