Apache 的两种工做模式安全
1.什么是MPM服务器
MPM(Multi-Processing Modules,多路处理模块)是Apache的核心组件之一,Apache经过MPM来使用操做系统的资源,对进程和线程池进行管理。Apache为了可以得到更好的运行性能,针对不一样的平台 (Unix/Linux、Window)提供了不一样的MPM,用户能够根据实际状况进行选择,其中最常使用的MPM有 prefork和worker两种。并发
2.Preforkide
工做原理:Prefork是非线程、预生成进程型MPM,会预先启动一些子进程,每一个子进程一个时间只能处理一个请求,而且会根据并发请求数量动态生成更多子进程性能
3.worker操作系统
Workder是线程化、多进程的MPM,每一个进程能够生成多个线程,每一个线程处理一个请求;不须要启用太多的子进程,每一个进程可以拥有的线程数量是固定的。服务器会根据负载状况增长或减小进程数量。一个单独的控制进程(父进程)负责子进程的创建。每一个子进程可以创建ThreadsPerChild数量的服务线程和一个监听线程,该监听线程监听接入请求并将其传递给服务线程处理和应答。线程
Prefork和Worker的比较设计
prefork方式速度要稍高于worker,然而它须要的cpu和memory资源也稍多于woker。代理
prefork的无线程设计在某些状况下将比worker更有优点:它可使用那些没有处理好线程安全的第三方模块,而且对于那些线程调试困难的平台而言,它也更容易调试一些。调试
在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,由于Worker MPM的内存使用比Prefork MPM要低得多。
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,能够在大多数计算机操做系统中运行,因为其多平台和安全性被普遍使用,是最流行的Web服务器端软件之一。它快速、可靠而且可经过简单的API扩展,将Perl/Python等解释器编译到服务器中。
它能够运行在几乎全部普遍使用的计算机平台上
Apache的特色是简单、速度快、性能稳定,并可作代理服务器来使用
它的源代码开放,支持跨平台的应用(能够运行在几乎全部的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。