首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

版主,linux下的Apache和Nginx是不是有什么区别

发布网友

我来回答

2个回答

懂视网

产品型号:Thinkpad E15

系统版本:centos8

区别:apache和nginx处理php文件的方式不一样。

1:Apache是通过libphp5.so这个模块来处理php文件

2:Nginx是通过php-fpm这个服务来处理php文件

Apache:

 

Nginx:

 

Apache的libphp5.so随着Apache服务器一起运行,而Nginx和php-fpm是各自运行,所以在运行过程中,Nginx和php-fpm都需要分别启动!

Nginx相对于Apache的优点: 

轻量级,同样是 web 服务,比Apache 占用更少的内存及资源 ;高并发,Nginx 处理请求是异步非塞的,而Apache 则是阻塞型的,在高并发下Nginx 能保持低资源低消耗高性能;高度模块化的设计

编写模块相对简单;社区活跃,各种高性能模块出品迅速。

Apache 相对于Nginx 的优点: 

rewrite,比Nginx 的rewrite强大;模块超多,基本想到的都可以找到;少bug ,Nginx 的bug 相对较多;超稳定 

存在就是理由,一般来说,需要性能的web 服务,用Nginx 。如果不需要性能只求稳定,那就Apache。Nginx处理动态请求是弱项,一般动态请求要Apache去做,Nginx只适处理静态网页或反向代理。 

总结:

1. Apache是通过libphp5.so这个模块来处理php文件

2. Nginx是通过php-fpm这个服务来处理php文件

3. Nginx处理动态请求是弱项,一般动态请求要Apache去做,Nginx只适处理静态网页或反向代理。 


热心网友

为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。

  处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:

  假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com