nginx
文章平均质量分 77
funpig
带一束花回家
展开
-
nginx连接池
nginx连接池:每个进程有自己独立的连接池,连接数配置:worker_connections(当然这个连接数受限于进程ulimit open files ;连接数还包括upstream建立的连接)连接池实际上是一个数组单链表,初始化是在ngx_event_process_init中进行的,包括读写事件链表。连接池(cycle->connections)是分配在连续的n个ngx原创 2013-05-22 16:03:26 · 1762 阅读 · 0 评论 -
nginx request的几个变量
nginx配置:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param QUERY_STRING $query_string;fastcgi_param REQUEST_METHOD $request_method;fastcgi_param CONTE原创 2013-06-13 17:33:31 · 9008 阅读 · 0 评论 -
nginx slab算法
nginx中实现了slab算法,只用在了管理共享内存的时候:static ngx_int_tngx_init_zone_pool(ngx_cycle_t *cycle, ngx_shm_zone_t *zn){ u_char *file; ngx_slab_pool_t *sp; sp = (ngx_slab_pool_t *) z原创 2013-06-07 16:02:38 · 1460 阅读 · 2 评论 -
nginx的error_log和access_log分析
nginx配置中有关日志的配置主要是围绕着下面两个指令:1、error_log2、access_log:记录访问日志 首先要强调的一点是,如果access日志和error日志都是常量文件名(因为access支持变量文件名,后续会讲到),那么nginx进程会缓存文件描述符直到进程结束。什么时候日志的fd会改变呢?1)进程重启2)收到了NGX_REOPEN_SIGNAL信号,会原创 2013-06-19 17:07:23 · 16165 阅读 · 0 评论 -
nginx lingering_close
socket属性so_lingerstruct linger {int l_onoff; /* Linger active */int l_linger; /* How long to linger for */};一:close()1:l_onoff = 0;这是close() SO_LINGER属性的默认值原创 2013-06-04 23:26:30 · 2796 阅读 · 0 评论 -
nginx 变量
nginx的变量是怎么work的?现在考虑一个需求,要写一个第三方模块,需要一个变量,对应着每个request,这个变量放在哪里呢?怎么获取值,怎么传递给客户端,传给后端服务器呢?那么首先需要了解一下nginx中变量的组织结构,nginx变量可以归为两类:类型1:nginx内部变量 nginx核心变量:ngx_http_core_variables 变量集原创 2013-06-24 22:59:59 · 1558 阅读 · 0 评论 -
nginx http请求PHASE
当客户端的一个request到达服务器的时候,可以想象一下,一个服务器应该怎么处理这个请求呢?nginx又是怎么处理请求的呢?客户端一个请求到达nginx后,一个worker进程accept后开始处理,首先解析此次请求的请求行(request line),然后处理请求头(request headers),然后再经过http各功能模块,实现对不同请求的特定处理,最后将result返回给客户端。原创 2013-06-25 18:16:30 · 1292 阅读 · 0 评论 -
nginx 进程间通信
进程间通信(IPC)一:父进程与子进程间通信nginx是master-worker服务器模型,master负责接收外部信号,并给子进程发送信号,比如:重启,二进制文件替换等。在这里采用的是高级进程间通信方式:unix域套接字,socketpairnginx细节:子进程只保留自己的channel[1],并把其他子进程的channel[1]给关闭了,避免本进程误原创 2013-06-06 19:04:28 · 2350 阅读 · 0 评论