Nginx相对Apache的优点
① 轻量级,高性能的http和反向代理服务器,比Apache占用更少的内存及资源,高度模块化的设计,编写模块化相对简单,支持热部署;
② 并发性,Nginx处理请求是异步非阻塞,多个连接(万级别)可以对应一个进程,而Apache则是阻塞型的,是同步多进程模型,一个连接对应一个进程,在高并发下Nginx能保持低资源低消耗高性能;
③ Nginx处理静态文件好,Nginx静态处理性能比Apache高3倍以上;
④ PHP以fastcgi_param配置来访问php-fpm进程,灵活,稳健。
Apache相对Nginx的优点
① Apache的rewrite比Nginx的rewrite强大,模块非常多,基本想到的都可以找到,比较问稳定;
② 老牌的web服务器软件,使用量大,稳定性强,兼容性好,文档全面应用广泛;
③ PHP以模块方式访问
原因分析:
1.得益于Nginx使用了最新的epoll(linux2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型
2.目前Linux下能够承受并发性访问的squid memcached都采用的是epoll网络I/O模型,处理大量连接的读写,Apache采用的select网络I/O模型非常低效.