ChatGPT解决这个技术问题 Extra ChatGPT

丢失位于 apache 的 httpd.conf 文件 [关闭]

关闭。这个问题是题外话。它目前不接受答案。想改进这个问题?更新问题,使其成为 Stack Overflow 的主题。 9年前关闭。改进这个问题

如何找到我的 httpd.conf 文件所在的位置?

我正在从 Amazon Web Services EC2(弹性计算云)运行 Ubuntu Linux 服务器,但找不到我的 Apache 配置。

您使用的是哪个操作系统?你是如何安装 Apache 的?您正在运行哪个版本的 Apache?这些都是您在将其移动到正确位置(可能是 SeverFault)时应该包括的所有内容。
这不应该迁移到 superuser.com 而不是关闭吗?
这是一个快速的方法:find / -name httpd.conf
对于红帽,通常:/etc/httpd/conf/httpd.conf access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…
这是另一种快捷方式:locate httpd.conf

I
Ivan Chau

获取运行Apache的路径

$ ps -ef | grep apache
apache   12846 14590  0 Oct20 ?        00:00:00 /usr/sbin/apache2

-V 参数附加到路径

$ /usr/sbin/apache2 -V | grep SERVER_CONFIG_FILE
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

参考:
http://commanigy.com/blog/2011/6/8/finding-apache-configuration-file-httpd-conf-location


在某些操作系统中,您将获得 conf 文件的相对路径: -D SERVER_CONFIG_FILE="apache2.conf" 您可以运行“/usr/sbin/apache2 -V | grep HTTPD_ROOT”来查找根目录。输出:"-D HTTPD_ROOT="/etc/apache2/apache2.conf" 绝对路径将是:"/etc/apache2/apache2.conf"
不适用于我的共享主机,因为 ps 仅显示以我身份运行的任务。正如 Rich Bower 所建议的那样,我不得不尝试运行“httpd -V”和“apache2ctl -V”。
我在 ubuntu 14.04 上使用 Apache2 并且 sudo /usr/sbin/apache2 -V | grep SERVER_CONFIG_FILE 给了我一些警告错误 Invalid Mutex directory 所以我使用的正确命令是 sudo apachectl -V | grep SERVER_CONFIG_FILE
在 Ubuntu 16.04 上不适用于我。它只是返回 grep 的 PID。
R
Rich Bowen

请参阅 http://wiki.apache.org/httpd/DistrosDefaultLayout,了解在不同平台上哪里可以找到 Apache httpd 配置文件,因为这可能因版本和平台而异。然而,最常见的答案是 /etc/apache/conf 或 /etc/httpd/conf

通常,您可以通过运行以下命令来确定答案:

httpd -V

(这是一个大写的V)。或者,在重命名 httpd 的系统上,可能是 apache2ctl -V

这将返回有关如何构建和配置 httpd 的各种详细信息,包括主配置文件的默认位置。

其中一行输出应如下所示:

-D SERVER_CONFIG_FILE="conf/httpd.conf"

其中,结合以下行:

-D HTTPD_ROOT="/etc/httpd"

将为您提供配置文件默认位置的完整路径


对我来说,有效的是 apache2ctl -V 命令并在后面列出的内容中查找路径。
是的,apache2ctl 不是 httpd重命名版本,它分别是 Debian- and RedHat-based OS 上相同应用程序的不同名称
我得到 the command httpd 未找到。
如果“httpd -V”不起作用,请尝试“apachectl -V”
在 ubuntu 上,您可能有 apache2.conf 文件而不是 httpd.conf 文件。您可以在 /etc/apache2 目录下找到列出的文件