OpenResty完全开发指南:构建百万级别并发的Web应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.9 总结

Nginx是OpenResty最基本的核心组成部分,本章首先介绍了Nginx的特点和进程模型,然后简要阐述了Nginx的配置文件格式和各种应用服务的配置方法。

Nginx是一个高性能高稳定的服务器软件,运行效率高,资源消耗低,可以轻松地处理上万甚至百万的并发请求。模块化的架构让它具有良好的扩展性,可以任意组合功能模块实现策略限速、负载均衡、安全防护等功能。OpenResty选择Nginx作为运行平台,正是“站在了巨人的肩膀上”。

Nginx采用独特的master/workers进程池机制。master进程管理和监控worker进程,worker进程真正对外提供Web服务。这种机制保证了服务的稳定运行,也能够充分利用多核心的CPU,轻易扩充服务能力。

Nginx使用配置文件定义对外提供的服务,支持HTTP/TCP/UDP等多种通信协议,语法很类似其他的编程语言。HTTP服务需要使用http{},里面再使用server/listen/location等指令定义服务的具体细节。TCP/UDP服务使用stream{},与HTTP服务不同的是没有location概念。当Nginx用作反向代理时需要使用指令upstream定义后端集群和负载均衡策略,再配合proxy_pass、fastcgi_pass等指令实现高效的代理转发。

Nginx提供了access_log和error_log两种运行日志,可以灵活配置格式和存放位置,方便我们进行数据分析、性能优化或者故障排查。

Nginx的功能非常强大,本章的内容仅仅是“冰山之一角”,篇幅所限不可能完整介绍所有的配置选项,有的重要功能例如缓存、重定向、访问控制、CPU绑定等都没有涉及,请读者及时参考restydoc、Nginx官网或者其他资料。