目录
apache的优缺点:
apache优点:
1、守护进程相对稳定,重连机制做得好;
2、跟php交互基本用module,在php上不用配置太多参数;
3、相对nginx,重写(rewrite)支持更好备份;
4、采用module(模块),可拓展性更强,可以在任一阶段插入钩子增加灵活性;
apache缺点:
1、由于使用module形式加载,导致整个项目比较重;
2、同步阻塞模型,容易导致进程阻塞无法正常访问;
3、新加入的模型event据传性能相当不错,但目前官方称仍属于调试阶段,并不建议在生产环境使用;
nginx的优缺点:
nginx优点:
1、异步io处理模型,可以支持更高的并发;
2、整体是个轻框架,反向代理一级棒(负载均衡);
3,采用php-fpm fastcgi模式连接php,负载量可以更大;
nginx缺点:
1、守护进程由于给php-fpm做了,所以非常受限于php-fpm。一个输入参数可能会导致整个程序运行不下去;
2、php-fpm要额外配置,排查问题多了一个环境需要排查;
3、nginx可以执行rewrite(使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标记位实现URL重写以及重定向。),但性能没有apache那么好;
区别:
1.Nginx 配置简洁, Apache 复杂 ;Nginx 静态处理性能比 Apache 高 2倍以上 ;
2.Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用;Apache 的组件比 Nginx 多 ;
3.apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级别)可以对应一个进程;
4.Nginx处理静态文件好,耗费内存少;动态请求由apache去做,Nginx只适合静态和反向;
5.Nginx适合做前端服务器,负载性能很好;Nginx本身就是一个反向代理服务器 ,且支持负载均衡;