相关关键词
关于我们
最新文章
NGINX+PHP(FASTCGI)好,还是NGINX+APACHE+PHP好?
发布日期:2014-04-25 00:00:00
1096
Q:NGINX+PHP(FASTCGI)好,还是NGINX+APACHE+PHP好?
第一种是利用CGI让NGINX和PHP进行通信
第二种是静态NGINX 动态让APACHE里的MOD_PHP模块来实现PHP
二种都是NGINX在前端80端口,作为一个反向代理服务器。
这2种哪种效率高呢?
第二种是静态NGINX 动态让APACHE里的MOD_PHP模块来实现PHP
二种都是NGINX在前端80端口,作为一个反向代理服务器。
这2种哪种效率高呢?
A:如果单台服务器的话,NGINX+APACHE+PHP 纯粹多此一举,多了一次请求转发,效率肯定低,而且现在FPM已经足够稳定。完全没必要。
只有多台服务器集群的话,apache+nginx反代才有意义.NGINX+APACHE+PHP 这种架构存在的原因除了apache出现比较早外,还因为当时FPM不如module模式稳定。
不见得。Nginx在前面实现动静分离,静态内容由Nginx负责,动态请求则交给后面的PHP应用服务器Apache(libphp5.so)处理。Apache专心处理PHP,这不挺好吗?
Nginx+PHP-FPM相对Nginx+Apache(libphp5.so)来说,PHP-FPM更灵活,在php-fpm.conf里可以配置监听不同端口的多个pool,每个pool又可以自由配置PHP-FPM工人进程数pm.max_children,一个pool里的工人进程繁忙不会影响到另一个pool。在Nginx里可以配置应用的不同部分使用不同的pool,而且一台服务器上可以运行多个版本的PHP-FPM,借助Nginx的upstream功能,PHP-FPM非常容易横向扩展。
新浪微博和百度贴吧都在使用Nginx+PHP-FPM的架构,PHP-FPM已经足够稳定。
ab同样并发数压力测试ZF下RPS(请求每秒)对比:
-
eechen回复 @ZhangKevin2 : PHP-FPM从5.3开始就集成到PHP核心,如果不稳定,你觉得新浪微博和百度贴吧会用吗?倒是PHP官方不推荐在生产环境中使用threaded MPM(worker/event)模式运行Apache2,仍建议使用老式prefork MPM. (2天前) 回复
-
ZhangKevin2回复 @eechen : 但是貌似没有APACHE+PHP组合稳定吧 (2天前)
-
eechen回复 @ZhangKevin2 : 你的意思是说Nginx+PHP-FPM存在FastCGI进程间通信,所以Apache2.4+MOD_PHP的性能要比前者好。但Nginx比Apache轻量高效是有目共睹的,处理静态文件和负载均衡都很强。另外PHP-FPM的可以通过php-fpm.conf和php.ini进行配置,拥有更高的可配置性。 (2天前)
-
ZhangKevin2回复 @eechen : apache不是出道2.4了么,听说提升了速度, 另外 NGINX和PHP通信用到了CGI技术,而APACHE和PHP貌似用的是APACHE里一个MOD_PHP模块 好像原理有本质的区别 (2天前)
- eechen回复 @yak : 差距虽然不大。但Nginx+FPM优于Apache+MOD_PHP是事实。