高性能的 Web 服务器:Nginx

324 阅读2分钟

一、Nginx 是什么

Nginx 是免费开源高性能的 Web 服务器,除了作为 HTTP 服务器外,还能用于反向代理、缓存和负载平衡。

Nginx 最初是为了解决 C10K 问题而诞生,而因为占用资源少、高性能等优点成为了流行的 Web 服务器。

Nginx 使用的是异步事件驱动的方法处理请求,通过异步逻辑削减上下文调度开销,所以并发能力更强,整体采用模块化设计,有丰富的官方、第三方模块库。

二、有什么优点

  • 高并发、高性能

  • 可扩展性好

  • 高可靠性

  • 热部署

  • DBD许可证

  • 稳定性、功能集丰富

  • 资源消耗低

三、有什么缺点

  • 无法以每个文件为基础覆盖系统范围的访问设置,而 Apache 能通过 .htaccess 文件实现。

  • 对 Window 环境支持较差。

四、Web 服务器选择:Nginx vs Apache

Apache 作为老牌服务器至今依旧流行屹立不倒,而 Nginx 作为新贵因为高性能、高并发和配置简单等逐渐和 Apache 平起平坐。

两者都有各自的优缺点,在选择服务器时需根据自身需要。如果你想提高静态内容的性能,那么大多数情况下 Nginx 会更好; 其它情况下 Apache 更具有优势,因为其更适合共享主机环境,并有控制面板。

Nginx 也可以和 Apache 一起使用发挥各自的优势:将 Nginx 作为反向代理放在 Apache 前,利用其能快速和同时处理大量连接的能力处理来自客户端的所有请求。

如果是静态资源的请求,Nginx 能快速处理返回给客户端; 如果是动态资源,Nginx 会将请求代理给 Apache 处理返回结果,再通过 Nginx 将结果返回给客户端。

参考资料

Nginx

Nginx vs Apache

Nginx 官网