首頁 > 後端開發 > php教程 > nginx基礎架構

nginx基礎架構

WBOY
發布: 2016-07-29 08:51:24
原創
1165 人瀏覽過

web伺服器設計中的關鍵限制

效能

網路效能、單次請求的延遲性、網路效率

可伸縮性

簡單性

可修改性可擴展性

可自訂性、可配置性、可重用性

可見性

關鍵組件的運作情況可以被監控的程度

可移植性

可靠性

nginx的架構設計

高度抽象的模組介面

所有模組都遵循相同的ngx_module_t介面設計規範,這種方式帶來了良好的簡單性、靜態可擴展性、可重用性

模組介面非常簡單,具有很高的靈活性

模組的基本介面ngx_module_t夠簡單,只涉及模組的初始化、退出及對組態項目的處理

ngx_module_t結構體作為所有模組的通用接口,它只定義了init_master、init_module、init_process、init_thread、exit_thread、exit_process、exit_master;

ngx_command_t類型的commands陣列則指定了模組處理配置項目的方法。


配置模組的設計

ngx_conf_module提供了高可用性、高可擴展性、高可自訂性、高可伸縮性

核心模組介面的簡化

官方的核心類型模組共有6個具體模組:ngx_core_module 、ngx_errlog_module、ngx_events_module、ngx_openssl_module、ngx_http_module、ngx_mail_module

多層次、多類別的模組設計

事件驅動架構

nginx不會使用進程或可能來作為消費者模組。

請求的多階段非同步處理

將阻塞進程的方法按照相關的觸發事件分解為兩個階段

將阻塞方法調用按照時間分解為多個階段的方法調用

在「無所事事」且必須等待所事系統的回應,從而導致進程空轉時,使用定時器劃分階段

如果阻塞方法完全無法繼續劃分,則必須使用獨立的進程執行這個阻塞方法

管理進程、多工作進程設計

優點:

利用多核心系統的同時處理能力

    負載平衡
  • 管理流程或負責監控工作流程的狀態,並負責管理其行為
  • 平台無關的程式碼實作
記憶體池的設計

這種記憶體池的最大優點在於:把多次向系統申請記憶體的操作整合成一次,這大大減少CPU資源的消耗,同時減少了記憶體碎片

使用統一管道過濾器模式的http過濾模組

nginx框架中的核心結構體ngx_cycle_t

ngx_listening_t結構體

ngx_cycle_t結構體

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i

').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介紹了nginx基礎架構,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板