关于Apache和Nginx的区别有哪些

最近在研究网站速度的问题,上一篇文章我写了关于wordpress用Memcached缓存来提高网站访问速度的文章:wordpress的网站用Memcached还是Redis来缓存,用了缓存以后确实快了不少,但是总觉得还是不尽人意,于是我就找了Apache和Nginx的区别的一些介绍,下面我也列出来做个记录。

一、apache和nginx的区别

apache优点:

1、守护进程相对稳定,重连机制做得好
2、跟php交互基本用module,在php上不用配置太多参数
3、相对nginx,重写(rewrite)支持更好
4、采用module,可拓展性更强,可以在任一阶段插入钩子增加灵活性。

apache缺点:

1、由于使用module形式加载,导致整个项目比较重
2、同步阻塞模型,容易导致进程阻塞无法正常访问
3、新加入的模型event据传性能相当不错,但目前官方称仍属于调试阶段,并不建议在生产环境使用。

nginx优点:

1、异步io处理模型,可以支持更高的并发
2、整体是个轻框架,反向代理一级棒(负载均衡)
3、采用php-fpm fastcgi模式连接php,负载量可以更大

nginx缺点:

1、守护进程由于给php-fpm做了,所以非常受限于php-fpm。一个输入参数可能会导致整个程序运行不下去
2、php-fpm要额外配置,排查问题多了一个环境需要排查
3、nginx可以执行rewrite,但性能没有apache那么好
3、apache的劣势

总结:差不多就是说Nginx可以更好的处理静态文件,而apache可以更好的处理动态文件,在处理静态文件的时候apache在100个并发下可能就会卡了,而Nginx可能可以处理几千上万个并发,那么如果我们用wordpress做的网站加了缓存,那是不是说用Nginx更好呢,等下我百度下宝塔怎么实现nginx+apache同时运行。

0
没有账号?注册  忘记密码?