- 博客(7)
- 收藏
- 关注
原创 常见WEB服务器并发策略
[b]一. 一个进程处理一个连接 非阻塞I/O[/b]fork模式,主进程负责accept()客户端的连接,fork一个新的worker进程,出来后进程销毁掉。prefork模式,主进程预先创建一定数量的子进程,每个请求由一个子进程处理,但是一个子进程可以处理多个请求。父进程只负责管理子进程,根据站点负载来调整子进程的数量,相当维护一个动态子进程。(apache2使用该模式)[b]...
2011-12-11 22:01:09 143
原创 I/O模型
[b][size=x-large]基础知识[/size][/b] [b]1. 文件描述符 fd[/b]Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(简称:fd,文件描述符);描述符就是一个数字,指向内核中一个结构体(文件路径...
2011-12-11 19:59:43 81
原创 nginx 模块组成
编写模块,需要实现下面5个部分[list][*] 定义 ngx_module_t 模块结构体[*] 定义commands[*] 定义cxn[*] 实现commands里对应的实现函数[*] 实现handler函数 (command实现函数依赖handler函数) (这个才是真正干活的)[/list][b][size=x-large]说明各个函数部分的意义[/s...
2011-12-04 20:49:03 124
原创 Nginx模块如何调试
编写nginx.conf,将nginx设置为单进程调试模式[code]worker_processes 1;error_log logs/error.log debug; # 记录调试日志 master_process off; # 单进程模式daemon off; pid /tmp/ngin...
2011-12-04 18:55:03 571
原创 [转] 好程序需要你写(至少)两遍
最近这些年,越来越多的人开始转向敏捷开发。各种敏捷开发技术并不新鲜,大多是在80 和90年代发展形成。但只是在最近这些年,程序员和(更重要的是)一些商业顾问,架构师,客户开始变得喜欢和拥抱敏捷开发。进化中的需求现在的一种普遍的认识是,在开始编码前,你不可能把所有的需求都写完备。这些需求的确定是一个逐渐发展进化的过程。使用短开发周期/springts,我们一步步的开发程序,使用...
2011-12-04 18:47:25 73
原创 Nginx ImageFilterModule 实践
image_filter 配合 proxy_pass && proxy_cache 动态切图。server { listen 80; server_name img.doyoueat.com; location ~* ^/resize/w_(\d+)/h_(\d+)/(.*)$ { rewrite /resize/w_...
2011-11-27 21:25:32 93
原创 代理和反向代理
1.什么是正向代理和正向代理服务器? 正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法) 正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户...
2011-11-27 16:26:17 87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人