如何列出 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 服务器上找到以下相关文章。
- 在 Linux 中检查 Apache 服务器状态和正常运行时间的 3 种方法
- 13 个 Apache Web 服务器安全和强化技巧
- 如何更改 Linux 中的默认 Apache“DocumentRoot”目录
- 如何隐藏 Apache 版本号和其他敏感信息
如果您对 Apache HTTP 服务器有任何疑问,请使用下面的评论表联系我们。