精英盒子 -> 程序设计 -> 关于Apache的itk工作模式 [打印本页]

jybox 2012-08-03 03:50

关于Apache的itk工作模式

itk工作模块:http://mpm-itk.sesse.net/

目前神马终端,也就是你看到的网页,就是在用它
它的功能是让apache以不同的用户权限运行网站
这一点你可以从http://whathost.tk/t.php 看到

但是这家伙确实很大程度上拖慢了速度,下面有一份资料表明它比Apache的prefork工作模块慢了五倍
http://blog.stuartherbert.com/php/2008/04/19/using-mpm-itk-to-secure-a-shared-server/
To benchmark mpm-itk, I used Apache s ab benchmark to load a simple phpinfo() page 1,000 times. I ran the benchmark five times, and averaged the results.
mpm-itk: average of 37.01 seconds
mpm-prefork: average of 6.21 seconds
mpm-itk benchmarks much better than suexec and suphp, but is still quite a bit slower than mpm-peruser.



比较有效的一个解决办法是用PHP的安全模式,它会按照所运行PHP脚本的UID来限制文件读写权限。
但是这并不是一个完美的解决方案,PHP也打算在将来版本中取消这个功能
比如,这样将导致PHP脚本无法读取一些系统文件,例如/proc/uptime之类的

另外,如果以wsgi模式运行python网站的话,那么还是要解决权限。


jybox 2012-08-03 03:53
还有个解决方案是SuExec,它可以让CGI以指定的用户权限运行,但是一旦这样,就必须使用CGI模式的PHP和Python



另外还发现PHP安全模式的一个问题,那就是很难统计和控制内存/CPU等资源的使用量,使用SuEXec和itk都可以通过限制用户的进程,来限制资源




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.048963 second(s),query:5 Gzip enabled