01 2013 档案

[apache] 挂钩说明(1)
摘要:从大的方面来看,Apache对HTTP的请求可以分为连接、处理和断开连接三个阶段;从小的方面而言,每个阶段又可以分为更多的子阶段。比如对HTTP的请求,我们可以进一步划分为客户身份验证、客户权限认证、请求校验等阶段,每一个阶段调用相应的函数进行处理。在Apache中,这些子阶段可以用术语“挂钩(HOOK)”来描述。其中的每一个挂钩可以看做是抽象的,他们本身并不会完成什么功能,但在每一个挂钩中我们都维护一个类似于List的数据结构,在这个List中则存放着处理函数的指针,这些函数是挂钩的实现(我们这里称它为挂钩函数)。简言之,挂钩=挂载点;挂钩函数=具体实现功能的函数。1. hook类型1.1 阅读全文

posted @ 2013-01-24 23:31 facome 阅读(1746) 评论(1) 推荐(0)

apache服务器本质
摘要:apache服务器本质上说是一个TCP socket服务,socket模型如下:下面以worker MPM来说明apache代码中相应处理的位置在哪里:(以apache httpd 2.2.23版本的代码为基础)1) 在第一次启动时验证配置没有异常时,创建了socket。2) open_logs 挂钩调用了 ap_setup_listeners() ,最终在listen.c的make_socket方法执行了apr_socket_bind/apr_socket_listen,进入通信的环节。3) worker.c的监听线程中负责接受请求,然后利用ap_queue_push把相应的请求放入队列中。 阅读全文

posted @ 2013-01-23 00:03 facome 阅读(5348) 评论(8) 推荐(11)

通过eclipse调试apache httpd server
摘要:Linux下调试apache httpd server1) 安装CentOS62) 安装编译环境# yum groupinstall "Development Tools"3)下载apache httpd server代码# wget http://apache.etoak.com/httpd/httpd-2.2.23.tar.gz# tar zxvf httpd-2.2.23.tar.gz# wget http://apache.etoak.com//apr/apr-1.4.6.tar.gz# wget http://apache.etoak.com//apr/apr-u 阅读全文

posted @ 2013-01-21 21:14 facome 阅读(1069) 评论(0) 推荐(1)

利用rsync做apache的镜像
摘要:rsync的官方文件在http://rsync.samba.org/1. 首先准备一个存放目录,空间至少要求90G以上。例如:/mirror/apache2. apache一个有2个镜像可以同步,视本地的空间而定需要用哪个。apache-dist Apache software distribution (up to 50GB disk)apache-dist-most like apache-dist, without high bandwidth projects (up to 90GB disk)例如下载apache-dist:rsync -avz --delete --safe-lin 阅读全文

posted @ 2013-01-15 17:55 facome 阅读(421) 评论(0) 推荐(1)

安装perl5.6
摘要:【背景】因为CentOS6.1系统里perl默认的版本是v5.10.1,但是想用的是perl5.6.0。这样的话需要自己手动编译安装。编译过程中遇到了一些问题,这里稍微整理了一下。【环境】 CentOS6.1【安装步骤】1)下载[root@demo misc]# wget http://www.cpan.org/src/5.0/perl-5.6.0.tar.gz2) 解压[root@demo misc]# tar zxvf perl-5.6.0.tar.gz [root@demo misc]# cd perl-5.6.03)安装3.1) 执行Configure [root@demo perl- 阅读全文

posted @ 2013-01-14 09:50 facome 阅读(1327) 评论(0) 推荐(0)

导航