在 Windows 或其他 Linux 发行版(例如 Centos)上运行 Apache 2 时,你可以通过输入以下命令显示虚拟主机列表httpd-S 服务在命令行中。您将获得虚拟主机及其定义位置的详细列表。Debian 似乎不支持使用等效的 apache2 -S 命令,并显示以下错误:
apache2: bad user name ${APACHE_RUN_USER}
起初我以为是 apache 环境变量出了问题,但显然一切正常。不过,我仍然希望能够看到所有 vhost 的列表。有什么想法可以轻松实现这一点吗?
答案1
对于 Debian/Ubuntu,使用以下命令:
apache2ctl -S
答案2
您没有定义用户名和组环境变量。请尝试APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data apache2 -S
(将 www-data 替换为 apache 运行的用户名/组)
答案3
您需要确保在 /etc/apache2/envvars 中设置了正确的信息 - apache2 命令会读取此文件以了解哪个用户应该运行 Apache httpd。
更多信息请参阅apache2:错误的用户名 ${APACHE_RUN_USER}在 Ubuntu 论坛上。