apache standalone vrs initd

我正在做一些阅读,似乎运行apache standalone是首选initd。 本书指出在initd下运行效率不高,而且在initd下运行也存在安全风险。

他们继续进一步说明,这个initd或standalone的选项已经在apache2中被删除了。 这是有道理的,因为我的安装问我什么都没有。

所以如果这个选项在apache2中被删除了,你是直接运行的,initd还是standalone?

我仍然通过/etc/init.d/apache2启动并停止服务器,所以我运行的是init.d而不是独立的,而且我还有更多的安全问题?

有没有办法告诉你正在运行?

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

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

Inetd(xinetd)是另一回事。 有这样一个选项来运行Apache,但我相信不再支持。

我想你在这里误解了一些东西。

init.d不是inetd(或xinetd)。

你的书是指inetd(或者是由不知道他们在说什么的人写的)。 如果它指的是inetd,那么这是正确的,很less有服务通过xinetd调用。

如果你使用apache2ctl而不是“官方”initscript,你没事,没有风险。