原创 epoll之一:epoll的原理

之前 我寫過一篇博客IO複用之select poll epoll 函數,大概介紹了一下epoll和select,poll的一些區別,接下來要 從原理剖析epoll的強大的原因 select和poll的工作機制 在某一時刻,進程

原创 Nginx 模塊自主開發二:Nginx的類型命名封裝

我們在看Nginx源代碼的時候,看不到我們以前在寫C語言的類型名稱(比如int,char等),其實是Nginx爲了跨平臺習慣將一些 C語言的東西進行了封裝,所以在編寫自己的模塊的 時候,建議儘量沿用Nginx的習慣。 整型封裝

原创 Nginx 模塊自主開發一:開發前的瞭解

個人覺得要真正理解源碼,如果 只停留在理論是遠遠不夠,所以從現在起,要開始學習自己開發Nginx模塊,再反過來理解Nginx本身代碼。 Nginx 發送文件或轉發 請求到其他服務器,有處理模塊處理,但需要壓縮或在服務端添加一些東

原创 Nginx 模塊自主開發四: 模塊數據結構

其中,ngx_module_s,這 個是 每個新的模塊的定義 struct ngx_module_s { /*ctx_index表示當前模塊在這類模塊中的序號。這個 成員常常是由管理模塊的 一個Nginx核心模塊設置的,

原创 Nginx 緩存機制 詳解之一 緩存管理進程

Nginx緩存的基本思路就是利用請求的局部性原理,下次訪問不再連接後端服務器。 Nginx是通過設置xxx_cache_path(比如proxy_cache_path),主要用來創建管理cache的共享 內存數據結構(紅黑

原创 四:深入Nginx之事件和連接 (之三:連接池)

在Nginx中的connection就是對TCP連接的封裝,包括連接的socket、讀事件、寫事件。利用Nginx封裝的connection,我們 可以很方便的使用nginx處理與連接相關的事情 ,所以Nginx不僅可以作爲 一個

原创 MapReduce 之一:MapReduce體系結構

MapReduce是一種分佈式並行編程。分佈式程序運行在大規模計算機集羣上,可以並行執行大規模數據任務,從而獲得海量的計算能力。 MapReduce相對傳統的並行計算框架 傳統並行計算框架 MapReduce 集羣架構

原创 Nginx TCP/UDP 代理

這個模塊可以實現基於TCP、UDP和Unix域的socket的協議的代理服務。這個 模塊是在nginx-1.9 以後版本才添加的模塊,如果要使用這個模塊的話,要重新編譯這個源代碼,參考之前的的博客nginx安裝,添加編譯選項--w

原创 Nginx配置正向代理

前面 已經有一篇博客 Nginx 代理緩存闡述了Nginx的正反向代理的差別(同時那篇主要也是講解如何配置nginx反向代理),那麼這篇博客就簡單介紹一下Nginx配置正向代理(http proxy和https proxy) 廢

原创 Nginx 緩存機制 詳解之二 緩存加載進程

上一篇博客已經詳細講解了緩存管理進程,接下來詳細講解緩存加載進程機制 緩存加載進程機制 ngx_cache_loader_process_handler函數 加載進程 和管理進程都是從函數ngx_cache_manager_pr

原创 大數據處理架構Hadoop配置

title: 大數據處理架構Hadoop date: 2016-06-02 tags: Hardoop Hadoop簡介 Hadoop是Apache軟件基金會旗下的一個開源分佈式計算平臺,爲用戶提供了系統底層細節透明的分佈式

原创 三:深入理解Nginx的模塊化 (結合源碼詳解)

盜用前面用到的流程圖 第二步實際上是調用 ngx_add_inherited_sockets() //文件名: Nginx.c int ngx_cdecl main(int argc, char *const *argv

原创 Linux 防火牆之iptables

防火牆最主要的任務就是規劃出: + 切割被信任(子域)與不被 信任(Internet)的 網段 + 切分出可提供Internet的服務與必須受到保護的服務 + 分析出可接受與不可接受的封包狀態。 Linux 系統上 防火牆的

原创 epoll之二:epoll實戰

epoll_create系統調用 int epoll_create(int size); epoll_create返回 一個句柄,之後epoll的 使用都將依靠這個 句柄 來 標識,參數 size是告訴epoll所要處理的大致事件

原创 一深入理解Nginx的 模塊化 ,全局觀

Nginx源碼目錄結構 . ├── auto 自動檢測系統環境以及編譯相關的腳本 │ ├── cc 關於編譯器相關的編譯選項的檢測腳本 │ ├── lib nginx