原创 wget使用方法(some)

wget使用方法(some) 前提說明: Web服務器http://127.0.0.1:8333/test.php 是我自己搭建的一臺nginx+phpweb服務器 1 post請求 Wget默認發送Get請求,通過指定參數--post

原创 redis 時間事件

時間事件保存在aeEventLoop->timeEventHead 以鏈表的方式進行存儲 /* Time event structure */ typedef struct aeTimeEvent { long long id

原创 redis 整數集合、壓縮列表和對象

整數集合 整數集合(intset)是redis用於保存整數值的集合抽象數據結構,它可以保存類型爲int16_t、int32_t、int64_t的整數值,並且保證集合中不會出現重複元素。 數據結構: typedef struct ints

原创 redis 協議

請求協議: *<參數數量> CR LF $<參數 1 的字節數量> CR LF <參數 1 的數據> CR LF ... $<參數 N 的字節數量> CR LF <參數 N 的數據> CR LF   舉個例子: //set mykey

原创 [nginx源碼分析]set process title

由於linux argv和environ環境變量內存地址連續,同時argv[0]代表進程name,所以就可以儘可能的用連續的內存空間(起始地址argv[0])來設置進程name test case如下: */ #include <st

原创 [nginx源碼分析]hash 和header 回調初始化

整個ngx_http_block中的ngx_conf_parse配置解析完成,,後面主要對配置文件進行優化。 優化可以分爲以下: 1 配置作用域合併 2location劃分 3 http header回調初始化hash 4 初始化http

原创 [nginx源碼分析]nginx事件邏輯

開始分析函數main->ngx_master_process_cycle ngx_master_process_cycle 首先設置信號屏蔽sigprocmask,然後設置master進程title 然後創建子進程調用 ngx_star

原创 [nginx源碼分析]ngx內存池實現

內存池函數: ngx_create_pool ngx_destroy_pool ngx_reset_pool ngx_palloc ngx_pnalloc ngx_palloc_block ngx_palloc_large ngx_po

原创 [nginx源碼分析]nginx handler 模塊解析

nginx除去配置解析和初始化,就是根據請求根據狀態機一步步執行流程,那麼本節主要講解首先是整個nginx對於一個客戶端請求大致請求流程,其次是根據這個流程來寫自己的handler模塊。 nginx接受到一個client請求調用流程: 1

原创 [libevent源碼分析] event_base_dispatch

分析下事件循環 event_base_dispatch int event_base_dispatch(struct event_base *event_base) { return (event_base_loop(event_b

原创 [nginx源碼分析]server_name hash

server中的server_name形成hash,優化server_name查找 核心函數ngx_http_optimize_servers(ngx_conf_t*cf, ngx_http_core_main_conf_t* cmcf)

原创 [nginx源碼分析]location劃分

整個ngx_http_block中的ngx_conf_parse配置解析完成,,後面主要對配置文件進行優化。 優化可以分爲以下: 1 配置作用域合併 2 location劃分 3 http header回調初始化hash 4 初始化htt

原创 [nginx源碼分析]nginx filter模塊解析

nginx filter分爲header過濾鏈和body過濾鏈,這兩天鏈是怎麼形成的呢?在源文件ngx_http.c中,可以看到這兩個函數指針變量 ngx_int_t (*ngx_http_top_header_filter)(ngx

原创 [nginx源碼分析]配置合併

整個ngx_http_block中的ngx_conf_parse配置解析完成,,後面主要對配置文件進行優化。 優化可以分爲以下: 1 配置作用域合併 2location劃分 3 http header回調初始化hash 4 初始化http

原创 [nginx源碼分析]配置解析(server作用域)

然後進入到server server命令在ngx_http_core_module中,如下 { ngx_string("server"), NGX_HTTP_MAIN_CONF|NGX_CONF_BLOCK|NGX