网站搜索

如何列出 Apache Web 服务器中的所有虚拟主机


Apache 虚拟主机配置允许您在同一台服务器上运行多个网站,这意味着您可以在同一台 Apache Web 服务器上运行多个网站。您只需为每个网站创建一个新的虚拟主机配置,然后重新启动 Apache 配置即可开始为网站提供服务。

Debian/Ubuntu上,所有虚拟主机的最新版本的Apache配置文件都存储在/etc/apache2/sites-available/目录中。因此,检查所有这些虚拟主机配置文件来修复任何配置错误确实非常困难。

为了让事情变得更简单,在本文中,我们将向您展示如何使用终端上的单个命令列出 Web 服务器上所有启用的 apache 虚拟主机。此方法还将帮助您查看其他一些有用的 apache 配置。

如果您正在协助一家公司远程修复其 Web 服务器问题,但您不知道他们当前的 apache Web 服务器配置(与虚拟主机相关),那么这实际上很有帮助。

另请阅读:如何检查 Linux 中启用/加载了哪些 Apache 模块

它将有助于轻松地在 apache 配置文件中搜索特定网站的虚拟主机,并帮助解决任何 apache 问题,在大多数情况下,您将首先检查当前启用的虚拟主机,然后再查看日志。

要列出 Web 服务器上所有已启用的虚拟主机,请在终端中运行以下命令。

apache2ctl -S   [On Debian/Ubuntu]
apachectl -S    [On CentOS/RHEL]
OR
httpd -S

您将获得所有已配置虚拟主机的列表以及其他重要的 apache/httpd 服务器配置。

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server api.example.com (/etc/httpd/conf.d/api.example.com.conf:1)
         port 80 namevhost api.example.com (/etc/httpd/conf.d/api.example.com.conf:1)
                 alias www.api.example.com
         port 80 namevhost corp.example.com (/etc/httpd/conf.d/corp.example.com.conf:1)
                 alias www.corp.example.com
         port 80 namevhost admin.example.com (/etc/httpd/conf.d/admin.example.com.conf:1)
                 alias www.admin.example.com
         port 80 namevhost tecmint.lan (/etc/httpd/conf.d/tecmint.lan.conf:1)
                 alias www.tecmint.lan
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex default: dir="/run/httpd/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: _RH_HAS_HTTPPROTOCOLOPTIONS
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48 not_used
Group: name="apache" id=48 not_used

从上面的输出中,我们可以清楚地看到每个网站配置了哪些端口和IP地址。我们还将看到每个网站虚拟主机配置文件及其位置。

当您排除或修复任何 apache 虚拟主机配置错误,或者您只是想查看 Web 服务器上所有启用的虚拟主机摘要的列表时,这非常有帮助。

就这样!您可能还会在 Apache Web 服务器上找到以下相关文章。

  1. 在 Linux 中检查 Apache 服务器状态和正常运行时间的 3 种方法
  2. 13 个 Apache Web 服务器安全和强化技巧
  3. 如何更改 Linux 中的默认 Apache“DocumentRoot”目录
  4. 如何隐藏 Apache 版本号和其他敏感信息

如果您对 Apache HTTP 服务器有任何疑问,请使用下面的评论表联系我们。