当我们安装主题和插件时,都会向…
在上一篇文章中,我探讨了为什么PHP7是使用WordPress的方法,而在今天的文章中,轮到Web服务器了。
良好的托管体验的很大一部分是如何配置Web服务器堆栈。拥有快速堆栈对于获得良好的WordPress性能和出色的用户体验至关重要。我已经讨论了为什么PHP7是这么一种自动提高WordPress性能的好方法,但是实际的Web服务器呢?
今天,我要解释的是:什么是网络服务器,什么是最受欢迎的服务器,以及为什么nginx这么好呢!
网络服务器
托管的最重要方面之一是实际的 Web服务器。网络服务器负责提供静态内容(例如HTML),并将其发送到客户端(这意味着直接进入浏览器)。因此,网络服务器还将负责处理通过PHP处理器传来的所有信息,并将其转换为通过网络传输到您的浏览器的位。Web服务器堆栈与 客户端/服务器模型一起使用,其中Web服务器充当服务器(内容的提供者),而客户端(您)则是请求它的服务器。
最常见的网络服务器是Apache,Microsoft的IIS,当然还有 nginx。
Web服务器能够处理发送到客户端的静态和动态内容,但会有一些细微差别。服务器部分通过称为工作进程的方式加载到内存中, 并负责提供所请求的内容。Apache和nginx都处理静态和动态内容。虽然Apache可以在同一个工作进程中处理这两种情况,但nginx却不能,因为它需要外部处理器来完成。
为什么Apache和Nginx如此受欢迎?简单的答案是因为它们是开源的并且免费的。它们共同构成了全球总流量的近50%,这并非易事!
什么是Apache?
在Apache的 HTTP服务器是由罗伯特·麦库尔于1995年创建,它仍然处于开发阶段下的Apache软件基金会。该Web服务器自1996年以来一直是最受欢迎的选择。它的设计非常模块化,拥有大量文档,并且非常受欢迎,它是所有主要Web主机控制面板的基础。它甚至包含在世界上最常用的控制面板cPanel中。
当然,它是灵活的,这是使用它的绝大多数人会在被问到时借出的借口,通常,这是事实。它也非常可扩展,并且由于它可以动态加载模块(nginx仍在进行某些工作),因此可以轻松配置它。
Apache能够在同一个工作器中单独处理静态和动态内容,因此它非常适合其灵活性,但是(而且总是存在)它以牺牲性能为代价。
众所周知,Apache的运行速度有些慢,但是当nginx变得流行时,没有什么比这个事实更能说明问题了。它们之间的性能差异是不容忽视的。仅就此而言,大多数主要公司都在切换到nginx。尽管Apache仍然很流行,但是随着技术的发展以及将来越来越多以前只能在apache上运行的软件开始包含nginx,未来肯定会改变。
那Nginx呢?
Nginx来自俄罗斯母亲。2002年,一位名叫Igor Sysoev的程序员开始研究nginx,因为他非常关心C10K问题。什么啊 简而言之,优化网络套接字以同时处理大量客户端是Apache的主要缺点,也是现代Web面临的真正挑战。nginx的初始版本于2004年基于事件驱动的体系结构公开发布。
甚至Sysoev自己也看不到nginx会取得多少成功。随着时间的流逝,nginx下的速度带来的巨大好处以及资源利用率低变得显而易见。Nginx具有提供静态内容的绝佳方法,但 无法处理动态内容。这也被证明是有好处的,因为动态内容没有绑定到同一工作人员,因此可以更快地工作。
Nginx擅长提供比Apache更快的内容到更大数量的连接,并且目前是希望提供最佳性能的托管服务的选择。它是事件驱动的体系结构,并且具有异步特性,这是其性能的要点。
最初,nginx有一个主要缺点,那就是文档。由于程序员是俄罗斯人,而且他记录了函数的方式,因此开局很艰难。但是随着时间的流逝,越来越多的人使用nginx,文档得到了极大的改善。
nginx的另一个缺点是缺乏模块化设计,这意味着它 无法像Apache的.htaccess文件一样实时处理规则 ,也无法实时加载模块。这是nginx已经在进行的工作,但是仍然需要时间来匹配Apache的灵活性。
但是,这些缺点很快就被出色的性能所掩盖。这本身使nginx成为面向性能托管的流行选择,并且它是Steam广泛使用的服务的基础 ,一次又一次证明了它在各个方面的得分始终高于Apache。
为什么Nginx是WordPress托管的首选?
在几个方面,nginx在托管WordPress网站方面比Apache更好。我将尝试将其总结为以下列表。
易于安装
Nginx是一个完整的软件包,它需要很少的外部模块来工作,并且在绝大多数情况下,它只需要在Linux中一行就可以启用它。
apt-get install nginx yum install 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内部的 ondemand参数允许服务按需生成和删除侦听器。这有助于减少内存使用并提高效率。Apache试图在mpm-event worker中包括一个事件模式,但是在匹配nginx速度时却失败了,因为Apache并未构建为事件驱动的Web服务器。
它可以做负载均衡
Nginx可以配置为负载平衡,因此,通过在几台服务器之间分散负载,可以更大程度地提高并发连接的速率,使其非常适合并发连接负载很高的项目。
这是什么意思呢?
这意味着nginx 在几乎所有方面都是WordPress的理想选择 。这意味着您将在实施后几乎立即获得使用它的好处。如果您是系统管理员,则可以轻松安装nginx。相反,如果您想设计一个项目或在其他地方托管您的网站,并希望将其托管在其他地方,那么如果您的托管使用nginx,则很有可能会更快地工作。
高质量的托管公司,例如WP Engine和Flywheel已在nginx上运行。但是,如果您要与其他托管公司合作,请进行研究或询问支持技术,如果网络服务器堆栈中包含nginx。我可以向您保证,如果服务是高质量的,它将在堆栈的某些部分包含nginx。
微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!
需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!