gpt4 book ai didi

perl - Apache2 从 CGI 内部重新加载配置

转载 作者:行者123 更新时间:2023-12-01 00:35:48 25 4
gpt4 key购买 nike

我正在开发一个简单的 Perl 应用程序,它复制另一个 Perl 应用程序并构建所有必需的 Apache 配置文件。

我似乎无法弄清楚的是如何即时重新加载 apache 配置。我知道我可以进行系统调用并在那里重新加载 apache,但这意味着我必须获得对该应用程序的 root 访问权限,这有点可怕。

有没有办法让 apache 从 CGI 容器中重新加载它的配置文件?

------------------------附加信息-------------------- ----------

我做了更多研究,问题是 Apache 必须以提升的权限运行才能绑定(bind)到端口 80。因此,一种解决方案是将 Apache 设置为在另一个端口上运行,并通过 iptables 将该端口转发到 80。 (这可能是最后的手段,但却是一个非常困惑的解决方案)。

这让我明白了,Apache 应该能够维护其当前的端口绑定(bind)并重新检查其配置文件,我所做的只是添加另一个脚本别名。

有没有办法在不重新加载的情况下添加新的脚本别名?

最佳答案

您还可以选择重新加载配置:

/etc/init.d/httpd reload

 apachectl -k graceful

但不幸的是,那些也需要 root。这与正常重启的不同之处在于当前打开的连接不会中止。副作用是旧日志文件不会立即关闭。这意味着如果在日志轮换脚本中使用,可能需要大量延迟以确保在处理旧日志文件之前将其关闭。

此外,如果使用 daemontools 运行 Apache,您可以通过以下方式执行此操作:

svc -h /service/apache

关于perl - Apache2 从 CGI 内部重新加载配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12559378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com