在上一篇文章中,我探讨了为什么PHP7是使用WordPress的方法,而在今天的文章中,轮到Web服务器了.
良好的托管体验的很大一部分是如何配置Web服务器堆栈。拥有快速堆栈对于获得良好的WordPress性能和出色的用户体验至关重要。我已经讨论了为什么PHP7是一种自动提高WordPress性能的好方法,但是实际的网络服务器又如何呢??
今天我要解释的是:什么是网络服务器,什么是最受欢迎的服务器以及为什么Nginx如此好!
Contents
网络服务器
托管的最重要方面之一是实际 网络服务器. 网络服务器负责提供静态内容(例如HTML)并将其发送到客户端(这意味着直接进入您的浏览器)。因此,网络服务器还将负责处理通过PHP处理器传来的所有信息,并将其转换为通过网络传输到您的浏览器的位。网络服务器堆栈可与 客户端/服务器模型 Web服务器充当服务器(内容提供者),客户端(您)充当请求服务器的地方.
最常见的网络服务器是Apache,当然是Microsoft的IIS,当然 Nginx的.
Web服务器能够处理发送到客户端的静态和动态内容,但会有一些细微差别。服务器部分以所谓的方式加载到内存中 一位工人 流程,并负责提供所请求的内容。 Apache和nginx都处理静态和动态内容。虽然Apache可以在同一个工作进程中处理这两种情况,但nginx却不能,因为它需要外部处理器来完成.
为什么Apache和Nginx如此受欢迎?简单的答案是因为它们是开源的并且免费的。它们共同构成了全球总流量的近50%,这并非易事!
什么是Apache?
的 阿帕奇 HTTP服务器由Robert McCool在1995年创建,目前仍在Apache软件基金会的领导下进行开发。自1996年以来,此网络服务器一直是最受欢迎的选择。它的设计非常模块化,拥有大量文档,并且非常受欢迎,它是所有主要Web托管控制面板的基础。它甚至包含在 面板, 世界上最常用的控制面板.
当然,它是灵活的,这是使用它的绝大多数人会在被问到时提出的借口,通常这是对的。它也非常可扩展,并且由于它可以动态加载模块(nginx仍在进行某些操作),因此可以轻松配置它.
Apache能够在同一个工作器中单独处理静态和动态内容,因此非常适合其灵活性,但是(而且总是存在)却以牺牲以下成本为代价 性能.
众所周知,Apache的运行速度有些慢,但是当nginx变得流行时,没有什么比这个事实更能说明问题了。它们之间的性能差异是 不可忽视. 仅就此而言,大多数主要公司都在切换到nginx。尽管Apache仍然很流行,但随着技术的发展以及将来越来越多以前只能在apache上运行的软件开始包含nginx,未来肯定会发生变化。.
那Nginx呢?
Nginx的 来自俄罗斯母亲。 2002年,一位名叫Igor Sysoev的程序员开始研究nginx,因为他非常关心C10K问题。什么啊简而言之,优化 网络插座 同时处理大量客户,这是Apache的主要缺点,也是现代网络面临的真正挑战。 nginx的初始版本于2004年基于事件驱动的架构公开发布.
甚至Sysoev自己也看不到nginx会取得多少成功。随着时间的流逝,nginx下的速度带来的巨大好处以及资源利用率低变得显而易见。 Nginx具有提供静态内容的宏伟方式,但是 不能掌握 动态内容。这也被证明是有好处的,因为动态内容没有绑定到同一工作人员,因此可以更快地工作.
Nginx擅长提供比Apache更快的内容到更大数量的连接,并且目前是希望提供最佳性能的托管服务的选择。它是事件驱动的架构,并且具有异步特性,这是其性能的主要方面.
最初,nginx的主要缺点是文档。由于程序员是俄罗斯人,而且他记录了函数的方式,因此开局很艰难。但是随着时间的流逝,越来越多的人使用nginx,文档得到了极大的改善.
Nginx的另一个缺点是缺乏模块化设计,这意味着它 无法实时处理规则 就像Apache的.htaccess文件一样 也无法实时加载模块. 这是nginx已经在进行的工作,但仍需要时间来匹配Apache的灵活性.
但是,这些缺点很快就被出色的性能所掩盖。这本身使nginx成为面向性能托管的流行选择,并且是广泛使用的服务基础 蒸汽, 一次又一次地证明,它在各个方面都能始终比Apache得分更高.
为什么Nginx是WordPress托管的首选?
在几个方面,nginx在托管WordPress网站方面比Apache更好。我会尝试将其总结为以下列表.
易于安装
Nginx是一个完整的软件包,它需要很少的外部模块来工作,并且在绝大多数情况下,它只需要在Linux中一行就可以启用.
apt-get安装nginx
百胜安装nginx
Nginx可以作为服务激活。其余的在配置中.
可以用作Apache或任何其他Web服务器的代理
Nginx可以作为代理运行,从而可以立即提高任何Apache Web服务器配置的性能,而不会以任何方式影响服务器的功能.
可以直接与微缓存甚至fastcgi缓存一起使用
Nginx非常出色,因为它内置微缓存,甚至可以与fastcgi缓存一起使用,以将性能提高10倍。Nginx在使用fastcgi缓存时也可以极大地提高性能,甚至不需要外部缓存机制,例如memcache.
提供内容的速度非常快
在处理静态内容时,Nginx的显示速度很快,并且为此目的进行配置非常容易。一行代码可以访问最常见的文件,例如静态内容,并提高其性能。此外,如果您知道如何配置HttpProxyModule,您甚至可以在不影响Web服务器功能的情况下获得与动态内容相同的性能水平.
并发连接数是Apache的近4倍
如果您打算托管一个每天访问量成千上万的高需求网站,那么最好知道nginx可以处理的并发连接数量是Apache的四倍,这意味着两点:
- 您的网站总体上会更快
- 您将比Apache需要更少的资源.
这是由于nginx是事件驱动的,因此对下一个好处负责.
轻巧
Nginx的制作精良,以至于其资源量轻巧。这意味着它将使用 减少CPU时间 处理每个连接请求,并将使用 少很多的记忆. 这将允许您使用以前无法在Apache中执行的相同服务器托管更大的站点.
成功的秘诀在于引擎本身。 Nginx充当事件触发的Web服务器,这意味着它将监听工作程序上的“事件”,并且仅在需要时才响应。的 一经请求 nginx内部的参数允许服务按需生成和删除侦听器。这有助于减少内存使用并提高效率。 Apache试图在mpm-event worker中包括一个事件模式,但是在匹配nginx速度方面失败了,因为Apache并未构建为事件驱动的网络服务器,但失败了.
它可以做负载均衡
Nginx可以进行配置以实现负载平衡,因此,通过在多台服务器之间分散负载,可以更大程度地提高并发连接的速率,使其非常适合具有大量并发连接的项目.
这是什么意思呢?
这意味着nginx是 理想 几乎所有方式都适用于WordPress。这意味着您将在实施后几乎立即获得使用它的好处。如果您是系统管理员,则可以轻松安装nginx。相反,如果您想设计一个项目或在其他地方托管您的网站,并希望将其托管在其他地方,那么如果您的托管使用nginx,则很有可能会更快地工作。.
高质量的托管公司,例如WP Engine和Flywheel已在nginx上运行。但是,如果您要与其他托管公司合作,请进行研究或询问支持技术,如果网络服务器堆栈中包含nginx。我可以向您保证,如果服务是高质量的,它将在堆栈的某些部分包含nginx.