在Apache2 + PHP 5.3下高效的特权分离

使用Apache2安全性和性能来设置权限分离,共享环境的首选方式是什么? 我想在不同的用户/组下运行每个虚拟主机,并尽可能快地处理PHP请求。

我喜欢FastCGI + php-fpm。 使用php-fpm,您可以设置每个池在单独的端口(或套接字)上侦听,并定义用户/组以及池的其他参数(例如,chroot目录,php_openbasedir,启动服务器,环境variables,内存限制,等等)。 在Apache中设置FastCGI,并使用FastCGIExternalServer指向你想要使用的特定的php-fpm池。 (使用正确的用户/组和其他限制(open_basedir,chroot等)为每个虚拟主机创build一个池。

(我相信以前的选项是使用suexec的FastCGI,但是php-fpm确实提供了相当的改进)。

FastCGI实际上比mod_php对于一个请求的速度要慢 – 但是它通常足够快,并且可以比mod_php更好地处理并发。