1. Apache在Linux系统下的工作模式及特点?如何使Apache使用worker模式?
  • prefork 是一种非线程、与派生的工作模式,用的是进程去处理请求,所以比较容易消耗内存,但是稳定性好,某个进程出现问题不会影响到其他请求。
  • worker是使用多个子进程、每个子进程有多个线程、由于使用的是线程去处理请求,消耗内存小,适合高流量的请求,但是如果某个进程出现问题,那么这个进程下的线程都会出现问题,即稳定性不是很好。
  • event模式,是为解决keep-alive保持长连接出现的一种工作模式,使用keep-alive长连接的时候,某个线程会一直被占用,即使中间没有请求,需要等到超时才会被释放,所以这个时候就出现了event的工作模式就出现了。
    在event工作模式中,会有一些专门的线程用来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务器的线程,执行完毕后,又允许它释放。这增强了在高并发场景下的请求处理。另外,event模式是不支持用在https上的。
  • 编译时指定worker模式,默认为prefork模式
  1. 调整Apache的长连接时间
#vim  httpd.conf
Include conf/extra/httpd-default.conf
#vim /usr/local/apache/conf/extra/httpd-default.conf
Timeout 1800
  1. apache隐藏版本号方法
  • 红帽系列的需要编译安装才可以隐藏,参考配置
  1. Apache日志切割
  2. Apache实现防盗链功能
  3. Apache支持的认证模式
  4. Apache支持的虚拟主机类型