apache 独立 vrs initd

apache 独立 vrs initd

我读了一些资料,似乎运行 apache standalone 比 initd 更可取。书中指出,在 initd 下运行效率不高,而且在 initd 下运行也存在安全风险。

他们进一步指出,initd 或 standalone 这个选项已经在 apache2 中被删除了。这很合理,因为我的安装并没有询问我这类问题。

因此,如果在 apache2 中删除了该选项,那么您将直接运行什么,initd 还是独立运行?

我仍然通过 /etc/init.d/apache2 启动和停止我的服务器,所以我运行的是 init.d 而不是独立运行,而且,我是否存在安全风险?

有什么方法可以知道你正在运行哪一个?

答案1

Apache 初始进程需要 root 权限才能绑定到端口 80(http)。当它获得监听套接字时,它不再需要 root 权限,因此它将其有效用户 ID 更改为用户 apache。

以 root 身份手动运行 apache 可能存在安全风险,不建议在生产环境中使用。使用 /sbin/service 或 /etc/init.d/* 将其作为服务运行是正常做法。

Inetd (xinetd) 是另一个故事。曾经有一个选项可以这样运行 apache,但我认为它不再受支持。

答案2

我觉得你误解了这里的一些内容。

init.d 不是 inetd(或 xinetd)。

您的书提到了 inetd(或者是由不知道他们在说什么的人写的)。如果它指的是 inetd,那么这是正确的,而且现在很少有服务是通过 xinetd 调用的。

答案3

如果您使用 apache2ctl 而不是“官方”initscript,则没问题,没有风险。

相关内容