nginx源码分析
首先需要了解nginx的源碼目錄文件結構:
core:文件夾用于存放nginx核心源代碼,其中有nginx內部自定義的數據結構,例如字符串、數組、鏈表、散列表、隊列、基數樹、以及紅黑樹等。另外還有nginx核心結構體,例如用于與客戶端連接的ngx_connection_t,用于配置解析的ngx_conf_t ,用于緩存的ngx_buf_t ,nginx入口函數main位于nginx.c文件中,該文件還有很多其他的內容。
event:文件中存儲了事件處理模塊相關的代碼,modules存儲了I/O多路復用相關的代碼,例如 select、epoll、poll、kqueue等。nginx可以根據不同的系統選擇不同的方案以實現性能的最大化。
http:文件夾包含nginx處理http請求時所需要的相關模塊代碼,nginx1.9.5版本實現支持了http2.0。
mail:作為郵件服務器的實現代碼。
misc:主要是兩個文件,一個是ngx_cpp_test_module.cpp和ngx_google_perftools_module.c其中ngx_cpp_test_module.c用于測試nginx中 引用的頭文件是否與C++兼容,ngx_google_perftools_modules.cpp用于支持gperftools的實現。gperftools是否是谷歌開源的性能分析工具。
os:文件夾包含跨平臺實現的相關代碼。
stream:文件夾包含nginx支持tcp反向代理功能的具體實現。
總結
- 上一篇: Java实现简单的文本编辑器
- 下一篇: 【毕设狗】【单片机毕业设计】基于单片机的