- OpenResty完全開發指南:構建百萬級別并發的Web應用
- 羅劍鋒
- 539字
- 2019-07-25 11:55:07
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官網或者其他資料。
推薦閱讀
- Java多線程編程實戰指南:設計模式篇(第2版)
- 算法基礎:打開程序設計之門
- Programming ArcGIS 10.1 with Python Cookbook
- C語言程序設計實訓教程
- Neo4j Essentials
- Troubleshooting PostgreSQL
- Windows Forensics Cookbook
- 領域驅動設計:軟件核心復雜性應對之道(修訂版)
- MongoDB,Express,Angular,and Node.js Fundamentals
- 響應式Web設計:HTML5和CSS3實戰(第2版)
- Cocos2d-x Game Development Blueprints
- Django實戰:Python Web典型模塊與項目開發
- scikit-learn Cookbook(Second Edition)
- Laravel Design Patterns and Best Practices
- 你好!Python