存档

‘Apache’ 分类的存档

Benchmarking PHP accelerators

2009年12月22日 没有评论

How does an accelerator works ?

Executing a PHP scripts takes a few steps :

  1. PHP loads the file,
  2. it parses the source file, and transforms it into opcodes (code that can be executed by the server),
  3. it executes the opcodes.

The accelerator takes the opcodes from step 2 and caches them in shared memory or on disk. Those cached opcodes are then directly reused the next time the PHP file is executed, without loading & parsing the file again.

Some accelerators add an optimization step which removes unnecessary code (empty loops, unused variables, …). In most cases, this optimisation step does not improve performance much.

Available accelerators

There are 3 accelerators (at last 3 that are stable, maintained and fast) :

阅读全文…

鞋衫各式名品专卖

收藏与分享
分类: Apache, php 标签: , , ,

使用memcached做数据库点击数统计缓冲

2009年12月18日 2 条评论

原理:

  1. 先从数据库读取最新的点击数,更新到缓存中。
  2. 点击动作产生时,在缓冲做自增操作。
  3. 把被点击的ID写入缓存中,以表名为组。表明缓存中有该ID的点击数,需要进行入库操作。
  4. 定时更新缓存数据到数据库。
  5. 如发现入库周期内,点击数无更新,则放弃入库,并山删除表名组中的ID。

阅读全文…

收藏与分享
分类: Apache, memcache, php 标签: , , ,

使用iptables来防止web服务器被CC攻击

2009年12月9日 没有评论

当apache站点受到严重的cc攻击,我们可以用iptables来防止web服务器被CC攻击,实现自动屏蔽IP的功能。

1.系统要求

(1)LINUX 内核版本:2.6.9-42ELsmp或2.6.9-55ELsmp(其它内核版本需要重新编译内核,比较麻烦,但是也是可以实现的)。
(2)iptables版本:1.3.7
阅读全文…

简单生活。简单运动

收藏与分享

awl 多线程SYN攻击工具0.2版,加了MAC伪装

2009年10月25日 5 条评论

一,安装:
tar -zxvf awl-0.2.tar.gz
./configure
make
make install

awl的执行程序安装后在/usr/local/bin/目录下
阅读全文…

收藏与分享

Apache 重写规则的常见应用 (rewrite) (转)

2008年2月25日 没有评论

来源:http://www.ixdba.net/article/57/1053.html

一:目的 本文旨在提供如何用Apache重写规则来解决一些常见的URL重写方法的问题,通过常见的
实例给用户一些使用重写规则的基本方法和线索。

二:为什么需要用重写规则?
一个网站,如果是长期需要放在internet上提供服务,必定会有不断地更新和维护,如临
时转移到其它服务器进行维护,重新组织目录结构,变换URL甚至改变到新的域名等等,
而为了让客户不会因此受到任何影响,最好的方法就是使用Apache Rewrite Rule(重写
规则)。

阅读全文…

收藏与分享
分类: Apache 标签: , ,

Apache URL Rewrite常用配置两种方法(转ixdba)

2008年2月25日 没有评论

来源:http://www.ixdba.net/article/c8/1056.html

(方法一)

假设你已经使用mod_jk2.so整合了Apache2.05x与Tomcat5.x

要完成的功能如下重定向:

将URL http://host/test.jps?id=1 重定向为 http://host/1.html

将URL http://host/conent.jsp?id=1&id2=3 重定向为 http://host/1_3.html
阅读全文…

收藏与分享
分类: Apache 标签: , , ,

如何用php作Linux自动执行脚本?

2007年11月24日 没有评论

最近急需这种方法,记录一下,明天上班时候尝试^^

在  linux下,可以使用crontab  +  php的方法:

1、使用crontab  –e编辑定时任务

内容为:

xx:xx:xx  执行一个test.php文件

2、php文件必须在文件头一行,加上解释器路径(就象perl做的那样)

#!/usr/local/bin/php

阅读全文…

收藏与分享
分类: Apache 标签: , , ,

服务器网页缓存的深入分析

2007年11月23日 没有评论

Expires、Cache-Control、Last-Modified、ETag是RFC 2616(HTTP/1.1)协议中和网页缓存相关的几个字段。前两个用来控制缓存的失效日期,后两个用来验证网页的有效性。要注意的是, HTTP/1.0有一个功能比较弱的缓存控制机制:Pragma,使用HTTP/1.0的缓存将忽略Expires和Cache-Control头。我们 这里以Apache2.0服务器为例,只讨论HTTP/1.1协议。

Expires

Expires字段声明了一个网页或URL地址不再被浏览器缓存的时间,一旦超过了这个时间,浏览器都应该联系原始服务器。RFC告诉我们:“由于推断的失效时间也许会降低语义透明度,应该被谨慎使用,同时我们鼓励原始服务器尽可能提供确切的失效时间。”
阅读全文…

收藏与分享
分类: Apache 标签: , , , ,

Apache 2.0中prefork.c模块和worker.c模块的比较

2007年11月22日 没有评论

Apache 2.XX中prefork.c模块和worker.c模块的比较

空闲子进程:是指没有正在处理请求的子进程。

1、prefork.c模块(一个非线程型的、预派生的MPM)
prefork MPM 使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并 且对于那些线程调试困难的平台而言,它也更容易调试一些。
阅读全文…

收藏与分享
分类: Apache 标签: , ,

什么是MPM?

2007年11月22日 没有评论

MPM(Multi -Processing Modules,多路处理模块)是Apache2.0中影响性能的最核心特性。是Apache 2.x才支持的一个可插入的并发模型,在编译的时候,我们只可以选择一个并发模型

格式
–with-mpm=MPM Choose the process model for Apache to use.
MPM={beos|worker|prefork|mpmt_os2| perchild|leader|threadpool}

1、Beos、mpmt_os2分别是BeOS和OS/2上缺省的MPM

2、perchild主要设计目的是以不同的用户和组的身份来运行不同的子进程.这在运行多个需要CGI的虚拟主机时特别有用,会比1.3版中的SuExec 机制做得更好.

3、leader和threadpool都是基于worker的变体,还处于实验性阶段,某些情况下并不会按照预期设想的那样工作,所以 Apache官方也并不推荐使用.

4、prefork如果不用“–with-mpm”显式指定某种MPM,prefork就是LInux/Unix平台上缺省的MPM.它所采用的预派生子 进程方式也是 Apache 1.3中采用的模式.prefork本身并没有使用到线程,2.0版使用它是为了与1.3版保持兼容性;另一方面,prefork用单独的子进程来处理不 同的请求,进程之间是彼此独立的,这也使其成为最稳定的MPM之一.
prefork的工作原理是,控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进 程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足 MinSpareServers设置的值为止.这就是预派生(prefork)的由来.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销 以增加性能.

5、worker相对于prefork,worker是2.0 版中全新的支持多线程和多进程混合模型的MPM.由于使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器.但是, worker也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性.这种MPM的工作方式将是Apache 2.0的发展趋势.
worker的工作原理是,由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的ThreadsPerChild 线程数,各个线程独立地处理请求.同样,为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最 多的空闲线程数;而MaxClients设置了所有子进程中的线程总数.如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程.

收藏与分享
分类: Apache 标签: ,