自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (2)
  • 收藏
  • 关注

原创 dns lvs webserver

1:dns说到dns,大家可能比较熟悉,都知道是域名解析服务,通俗的讲就是把域名(www.baidu.com)对应到服务器上,这些服务器提供一个或多个ip地址的映射给浏览器等客户端。如果是多个ip地址呢,就相当于在dns层面上做了负载均衡。首先谈谈A记录:A记录实现了DNS的基本功能,就是做域名到ip的映射,(dns系统有linux提供的bind,windows提供的dns)常

2013-08-21 22:51:14 1271

原创 nginx http请求PHASE

当客户端的一个request到达服务器的时候,可以想象一下,一个服务器应该怎么处理这个请求呢?nginx又是怎么处理请求的呢?客户端一个请求到达nginx后,一个worker进程accept后开始处理,首先解析此次请求的请求行(request line),然后处理请求头(request headers),然后再经过http各功能模块,实现对不同请求的特定处理,最后将result返回给客户端。

2013-06-25 18:16:30 1320

原创 nginx 变量

nginx的变量是怎么work的?现在考虑一个需求,要写一个第三方模块,需要一个变量,对应着每个request,这个变量放在哪里呢?怎么获取值,怎么传递给客户端,传给后端服务器呢?那么首先需要了解一下nginx中变量的组织结构,nginx变量可以归为两类:类型1:nginx内部变量    nginx核心变量:ngx_http_core_variables 变量集

2013-06-24 22:59:59 1587

原创 nginx apache lighttpd

对于几大主流服务器,nginx,apache,lighttpd,总是被比较来比较去,下面来说说自己见到的几个应用状况先。1、apache单枪匹马上阵:对于追求服务器性能的大公司,或者流量非常大的产品来说,不可能只用apache。apache稳定,但是因为是多进程同步服务,一个进程对应一个请求,造成其在处理静态资源,大并发请求的时候,hold不住。不能使用长连接。不能防止

2013-06-24 15:47:00 1010

原创 php编译

php编译的参数:路径相关的:--prefix=/   ;--with-config-file-path=/ ;dubg与否:--disable-debug;启动模式相关的:--enable-sockets ;--enable-fastcgi ;功能相关的:--with-mysql= ;--with-curl ; --enable-pcntl;--enable-zip ; --wi

2013-06-21 11:54:30 583

原创 说说php的sapi (cgi fastcgi .etc.)

sapi这是神马?Server Application Programming Interface ,服务器应用编程接口。sapi是应用层(比如apache,nginx,cli .etc)和php交互数据的入口。而就是sapi这个入口,使得php和其上面的应用层解耦合了。sapi实现了和各种应用层的兼容,应用层可以根据自身情况,定制sapi,比如:1)apache2handler和

2013-06-20 18:49:08 2855

原创 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 16231

原创 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 9045

原创 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 1502 2

原创 nginx 进程间通信

进程间通信(IPC)一:父进程与子进程间通信nginx是master-worker服务器模型,master负责接收外部信号,并给子进程发送信号,比如:重启,二进制文件替换等。在这里采用的是高级进程间通信方式:unix域套接字,socketpairnginx细节:子进程只保留自己的channel[1],并把其他子进程的channel[1]给关闭了,避免本进程误

2013-06-06 19:04:28 2402

原创 进程通信:管道(pipe)和socketpair区别

管道pipe是半双工的,pipe两次才能实现全双工,使得代码复杂。socketpair直接就可以实现全双工socketpair对两个文件描述符中的任何一个都可读和可写,而pipe是一个读,一个写详间代码:一:pipe实现父子进程全双工通信:#include #include int main (){ int fd1[2],fd2[2]; pipe(f

2013-06-06 17:50:40 5693

原创 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 2847

原创 select和epoll ET和LT

select&&epollselect:1.监听fd数量有限制,受控于fd_set数组大小2.每次select均要重新设置fd_set3.select函数内是通过poll依次轮询fd_set中的fd,4.select后,要依次轮训fd_set,使用FD_ISSET(fd,&fd_set)判断标志位是否置为1,然后进行处理5.需要从内核拷贝到用户空间epoll:

2013-05-22 18:42:36 1040

原创 nginx连接池

nginx连接池:每个进程有自己独立的连接池,连接数配置:worker_connections(当然这个连接数受限于进程ulimit open files ;连接数还包括upstream建立的连接)连接池实际上是一个数组单链表,初始化是在ngx_event_process_init中进行的,包括读写事件链表。连接池(cycle->connections)是分配在连续的n个ngx

2013-05-22 16:03:26 1795

VC++实现的傅里叶变换

VC++实现的傅里叶变换,实现简单,全面,文件是RAR格式的。

2009-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除