请问下,NGINX+PHP好,还是NGINX+APACHE+PHP好?

NGINX+PHP好,还是NGINX+APACHE+PHP好


守着星空守着你
浏览 1990回答 4
4回答

慕侠2389804

nginx相对于apache的优点:轻量级,同样起web 服务,比apache 占用更少的内存及资源抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊apache 相对于nginx 的优点:rewrite ,比nginx 的rewrite 强大模块超多,基本想到的都可以找到少bug ,nginx 的bug 相对较多超稳定作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,Nginx还可作为负载均衡服务器最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程对web server的需求决定你的选择。大部分情况下nginx都优于APACHE,比如说静态文件处理、PHP-CGI的支持、反向代理功能、前端Cache、维持连接等等。在Apache+PHP(prefork)模式下,如果PHP处理慢或者前端压力很大的情况下,很容易出现Apache进程数飙升,从而拒绝服务的现象。所以因此可以同时采用apache和nginx来互相弥补,借助apache的安全稳定,并依靠nginx的负载均衡来实现最终的目的 

智慧大石

nginx跑前端和静态文件,并发值高,apache跑后端,php比较稳定,大型网站可以采取nginx+apache+php比较好。正常网站前者就可以了,一个环境调试难度会小点

繁花如伊

如果单台服务器的话,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(请求每秒)对比:
打开App,查看更多内容
随时随地看视频慕课网APP