- 博客(7)
- 收藏
- 关注
原创 常见WEB服务器并发策略
[b]一. 一个进程处理一个连接 非阻塞I/O[/b] fork模式,主进程负责accept()客户端的连接,fork一个新的worker进程,出来后进程销毁掉。 prefork模式,主进程预先创建一定数量的子进程,每个请求由一个子进程处理,但是一个子进程可以处理多个请求。父进程只负责管理子进程,根据站点负载来调整子进程的数量,相当维护一个动态子进程。(apache2使用该模式) [b]...
2011-12-11 22:01:09
192
原创 I/O模型
[b][size=x-large]基础知识[/size][/b] [b]1. 文件描述符 fd[/b] Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(简称:fd,文件描述符);描述符就是一个数字,指向内核中一个结构体(文件路径...
2011-12-11 19:59:43
121
原创 nginx 模块组成
编写模块,需要实现下面5个部分 [list] [*] 定义 ngx_module_t 模块结构体 [*] 定义commands [*] 定义cxn [*] 实现commands里对应的实现函数 [*] 实现handler函数 (command实现函数依赖handler函数) (这个才是真正干活的) [/list] [b][size=x-large]说明各个函数部分的意义[/s...
2011-12-04 20:49:03
164
原创 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
644
原创 [转] 好程序需要你写(至少)两遍
最近这些年,越来越多的人开始转向敏捷开发。各种敏捷开发技术并不新鲜,大多是在80 和90年代发展形成。但只是在最近这些年,程序员和(更重要的是)一些商业顾问,架构师,客户开始变得喜欢和拥抱敏捷开发。 进化中的需求 现在的一种普遍的认识是,在开始编码前,你不可能把所有的需求都写完备。这些需求的确定是一个逐渐发展进化的过程。使用短开发周期/springts,我们一步步的开发程序,使用...
2011-12-04 18:47:25
112
原创 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
132
原创 代理和反向代理
1.什么是正向代理和正向代理服务器? 正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法) 正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户...
2011-11-27 16:26:17
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅