我如何在 Red Hat Linux 中检查 apache 配置的有效性?

How do I check the apache config for validity in Red Hat Linux?

我的操作系统是 Red Hat Enterprise Linux7。这不工作...

# httpd -t
bash: httpd: command not found

如果有帮助,这是我运行在此机器上重新启动 apache 的命令...

# systemctl restart httpd24-httpd

但这行不通...

# httpd24-httpd -t
bash: httpd24-httpd: command not found

这也不行...

# apachectl -t
bash: apachetl: command not found

这也行不通...

# apachectl configtest
bash: apachetl: command not found

我知道这已经有几个月了,但最后还是到了这里。我 运行 最初遇到了同样的问题,因此我在这里。我发现新的 httpd24-httpd 的位置不在我要执行的 env 路径中。虽然我可以在那里添加它,但我找到了命令位置并能够执行。

我是如何找到命令的:

sudo find / -name apachectl

命令的输出:

/opt/rh/httpd24/root/usr/sbin/apachectl

执行了命令:

sudo /opt/rh/httpd24/root/usr/sbin/apachectl

原来我必须修复我的配置。

httpd:/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf 的第 56 行出现语法错误:/opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-base.conf 的第 40 行出现语法错误:无法加载 modules/mod_http2 .so 进入服务器:libnghttp2-httpd24.so.14:无法打开共享对象文件:没有这样的文件或目录

这对我来说很有趣,因为我没有对这方面的配置做任何事情。

这是我的版本运行。

sudo /opt/rh/httpd24/root/usr/sbin/apachectl -v

服务器版本:Apache/2.4.34(红帽) 服务器构建:2020 年 3 月 17 日 09:34:59

祝一切顺利!

从提交给 Redhat 的旧错误中找到了更多关于此的内容

Bug 1329639

评论 10

scl enable httpd24 -- /opt/rh/httpd24/root/usr/sbin/apachectl configtest