nGINX中国和中国aPACHE中国的优缺点对比分析
nginx 或 apache,我应该挑选哪个 网站 服务器?这是大家的香港服务器租赁客户经常面临的问题,特别是当他们开始搭建业务服务或他们现有的 网站 服务器产生问题时更是如此.作为 网站 托管、专精香港服务器租赁托管服务商的技术兼容服务,安装、配置和管理 网站 服务器是大家为客户执行的重要任务.
在 网站 服务器中,apache 和 nginx 是 linux 平台的厂商.但挑选 网站 服务器并不是盲目完成的.您要使用的 网站 服务器的挑选取决于执行的网站种类和服务器规范.在大家管理的香港服务器中,大家依据 7 个主要方面决定 网站 服务器.
一、稳定性
由于内存不足,您的服务器是否经常崩溃?您不能一味地给您的香港服务器添加越来越多的内存,因为它不低廉或者并非长期修复策略.
耗尽内存的罪魁祸首是 网站 服务器.在内存使用方面,与 nginx 网站 服务器相比,apache 是流氓.apache 配置为根据为每个连接创建进程来处理连接.这些单线程进程中的每一个都分配了一定量的内存.因此,当流量激增时,会有太多的 网站 服务器请求进进.这会导致更多进程激活,从而导致内存占用并导致服务器崩溃.
根据将 apache 的 mpm 模块从 pre-fork 转换到 worker,大家可以减少内存开销.但如果内存仍然存在问题,大家会考虑转换到 nginx 网站 服务器.nginx 使用单线程来处理 网站 服务器连接.即使连接增加,也不会生成新线程.这有助于节省内存并避免崩溃.
因此,对于在内存受限的服务器实例(如 云服务器)中执行网站的 网站 托管提供商,大家将 nginx 配置为 网站 服务器以避免崩溃.
2、快速
apache 网站 服务器基于进程.但 nginx 基于事件.因此,当 网站 服务器请求数量增加时,apache 需要启动更多进程.进程数量的增加会使 cpu 过载.网站 服务器配置受到影响.而且网站开始因流量而变慢,而且需要花费很长时间才能加载.
而 nginx 旨在即使在流量激增的情况下也能提供稳定配置.它只需要为每个 cpu 执行一个进程,而不是每个连接一个进程.由于其基于事件的制作结构,nginx 可以同时处理比 apache 可处理的请求多 4 倍的请求.这有助于避免服务器中的负荷峰值.因此,对于需要处理不断增加的 网站 流量的服务器,大家将 nginx 配置为 网站 服务器.对于具备稳定流量和 cpu 使用率的服务器,apache 足以处理请求.
1、可拓展性
apache 使用一个进程来处理一个 网站 服务器连接.因此,与 apache 网站 服务器同时可能的连接数量是有限的.但在 nginx 中,每个工作进程可以同时处理数千个 网站 服务器连接.在硬件限制内,nginx 可以轻轻松松拓展以适应不断增加的流量,这是 apache 无法做到的.
4、安全性
apache 和 nginx 都有一个安全性的代码库,但它们都会间歇性地受到安全性漏洞的流量攻击.凭借其集中的单一配置管理,nginx 比 apache 更安全性.在大家管理的 网站 服务器中,大家在 apache 和 nginx 中配置其他安全性模块和强化工具,以进一步保护它们以避免漏洞利用.
5、定制
在 apache 中,有一个名为 httpd.conf 的主配置文件,用于全局服务器配置.此外,客户可以挑选管理自己的配置参数.这是在目录中的 .htaccess 文件的帮助下完成的.客户可以使用此文件设定重定向规则,密码保护,目录列表,限制等.
但在 nginx 中,使用 nginx.conf 文件只能开展集中配置.所有更改都将由服务器管理员开展,而且各个客户无法涵盖这些设定.因此,在共享 网站 托管(例如共享虚拟服务器)中,每次都很难调整主配置文件中的每个客户设定,而 apache 具备 .htaccess 自定义作用,因此首选 apache.但是,解析目录级配置文件可能是 apache 网站 服务器的开销,从而进一步降低快速.在这种情况下,大家会依据客户要求限制此作用.
6、网站种类
网站文件有两种种类:静态和动态.静态文件包括 css,js,图像等,不需要任何实时处理.动态页面只有在处理后才能生成.这些包括 php,python 或其他运用程序(如 nodejs)等文件.
apache 网站 服务器熟练地解析和执行各种脚本语言,这使它能够非常快速地处理动态页面.nginx 没有这种很好地处理动态页面的水平.但它可以快速提供静态网站内容,其静态内容缓存.
在只有 nginx 网站 服务器的香港服务器中,大家配置 php-fpm 运用程序来处理像 php 这样的动态内容.为了进一步加快网站快速,大家配置 varnish 或 memcached 等缓存工具.
7、负荷均衡
在许多场景中首选 load balancer 设定,例如执行许多运用程序实例或分布式 网站 服务器要求,其中涉及高 网站 流量.nginx 可以轻轻松松配置为负荷均衡器,以收集 网站 流量并将其分发到相应的 网站 服务器并解析获得的输出.静态页面由 nginx 本身处理,动态页面请求被传送到适当的 网站 服务器.此负荷平衡有助于提高网站快速,而不会导致资源开销.根据在 nginx 中配置缓存,大家进一步简化了负荷均衡器设定,以减少网站延时并提高服务器配置.
以上就是大家为您介绍的 nginx 和 apache 之间在主要 网站 服务器标准方面的差别.但在现实生活场景中,这些参数可能不是那么清晰,无法区分.大多数情况下,网站可以是静态和动态页面的组合,而不仅仅是一种种类.在这种情况下,大家使用 nginx 和 apache 的组合.大家将 nginx 配置为反向代理.nginx 将充当收集 网站 服务器请求的前端.静态页面由 nginx 本身处理.诸如 php,python 等动态页面被移交给 apache 网站 服务器,后者位于后端并监听另一个端口.apache 的结果然后根据 nginx 移交给客户端.根据使用 nginx 和 apache 的反向代理设定,大家可以在两台服务器之间卸载 网站 流量,并从这两台服务器中获得效果.
总之,大家在 网站 服务器中执行进一步调整以提供配置.为确保 网站 服务器即使在增加的负荷下也能正常工作,大家会定期开展压力测试和持续更新.总之,大家在评估服务器实例种类和业务服务目的后,大家的兼容工程师会建议客户如何在服务器中配置 网站 服务器.这有助于大家配置快速稳定的高配置 网站 服务器.