我的 Linux 发行版中有一个文件 /etc/sysconfig/httpd,它似乎与 Apache 服务器的配置有关
有人能解释一下这在配置中起什么作用,以及为什么它与标准 httpd.conf 配置文件的作用不同——为什么有两个配置文件?
答案1
这取决于发行版。我有 CentOS(RedHat 高级服务器的克隆版)和这个文件。
当您启动计算机时,该init
进程会查看一堆脚本以确定要启动哪些脚本。其中一个可能是httpd
(您可以使用 配置 来启动或不启动 apache chkconfig
)。如果您查看/etc/init.d/httpd
脚本,您会发现它会检查/etc/sysconfig/httpd
,如果是,则将其作为源(就像它是当前脚本的一部分一样)。因此,现在 中的任何变量定义/etc/sysconfig/httpd
都会应用于脚本的其余部分。
您在文件中看到的示例是设置HTTPD
,这是一个设置为可执行文件名称的变量。在我的发行版中,默认情况下您使用旧的 prefork 模块,但/usr/sbin/httpd.worker
如果您愿意,您可以在此处设置为使用多线程。您还可以设置 OPTIONS,它们是提供给httpd
(又名$HTTPD
)的命令行选项。实际上没有其他可以设置的(您可以忽略HTTPD_LANG
,如果您不知道是否需要它,则不需要它)
因此,如果您想要多线程服务器,请设置HTTPD=/usr/sbin/httpd.worker
。这可能不会破坏默认 apache 中的任何内容,尽管您添加的一些附加组件可能会(但不太可能)在多线程 apache 下中断。
答案2
这一页http://wiki.apache.org/httpd/DistrosDefaultLayout说“/etc/sysconfig/httpd 中有一个额外的配置文件,可用于更改为 worker mpm /usr/sbin/httpd.worker。”