nginx和apache是两个开源的web服务器,也是我们常用的web服务器,然后很多时候我们的想一下到底选哪个?这两个到底哪个好?前一段时间我在群里面问过别人,又说nginx好,也有说apache好的,整的我也没法分辨,那么这两个究竟哪个好?我们又应该如何选择呢?
Apache,音译为阿帕奇,目前这个是全球使用量第一的web服务器目前来看,使用的非常的广泛,也是一个比较早期的一个web服务器,而nginx诞生的时间比较短,并没有前者诞生的时间长,但是他可以算是,后起之秀,凭借的高并发轻量级的优势,现在也有非常多的站长再用,那么长呢,看一下他的优缺点吧。
apache起步时间比较长,有非常多的人在维护,可扩展性特别的强模块很多,几乎你想得到的他都有,由于这个起步的早,所以目前来看bug也比较少,如果有技术人员进行维护的话是特别的稳定的。
缺点:由于每一个连接对应着一个进程,所以这个特别的吃配置,而且并不是特别抗并发,同样配置的服务器,抗并发能力比nginx差太多,而且非常的吃内存。
nginx最早俄罗斯人开发并且使用,而且现在在俄罗斯使用特别广泛,安装起来比较简单,像我这样什么也不会的,也能清清楚楚安装,而且简洁,比较好理解,里面需要配置的东西都很简单,并且你也不用花费什么时间专门去维护,几乎就是建之后,从来不用管,而且各种低配置服务器都可以运行,而且也很稳定,目前我记得大部分虚拟主机厂商都是使用nginx,由于nginx的自身优势,他的并发承受能力非常强,就目前我在使用的cdnfly系统也是用的nginx。
缺点:nginx是单进程多线程,一旦这个进程死掉,直接会影响特别多的用户,而apache每个进程对应一个,所以死掉之后并不会有太大的影响,虽然nginx⽀持rewrite功能但是比apache来说性能还是差很多,可扩展性,自定义性都要比apache差。
那么优点和缺点也了解了,我们实际建站的时候应该怎么选择?我的建议呢,像我们平常一些站长,我们自己搭建一个网站建议使用nginx,就像我这样搭建一个博客的话使用nginx还是非常好的,或者我们服务器配置很低的话使用nginx也是非常好的,但如果你是比较专业的人士,或者说你是大企业,大型网站,对可扩展性要求很高,那么还是建议使用apache,apache在有专业运维人员的维护情况下,使用起来是非常的好,性能及其的强。