Apache Web服务器企业实战(Rewrite重写规则)

本文介绍了Apache Web服务器的工作原理,重点解析了Prefork和Worker MPM的工作模式,以及它们在企业环境中的应用场景。Prefork采用预派生子进程方式,稳定但内存开销大;Worker MPM则使用多线程,内存占用小,适合高并发场景。此外,文章还涵盖了Apache的安装、虚拟主机配置以及rewrite规则的实战应用。
摘要由CSDN通过智能技术生成

万维网(world wide web,WWW)服务器,也称之为Web服务器,主要功能是提供网上信息浏览服务。WWW是Internet的多媒体信息查询工具,是Internet上飞快发展的服务,也是目前应用最广泛的服务。这是因为有了WWW软件,才使得近年来Internet迅速发展。

目前主流的Web服务器软件包括Apache,Nginx,Lighttpd,IIS,Resin,Tomcat,WebLogic,Jetty等。

本章向大家介绍Apache服务器发展历史,Apache工作模式深入剖析,Apache虚拟主机,配置文件详解及Apache rewrite企业实战等内容。

 

1.1 Apache Web服务器入门简介

Apache HTTP server是Apache软件基金会的一个开源的网页服务器,可以运行在几乎所有管饭使用的计算机平台上,由于其跨平台和安全性被广泛使用,是目前最流行的Web服务器软件之一。

Apache服务器是一个多模块化的服务器,经过多次修改,成为目前世界使用排名第一的Web服务器软件。Apache取自“a patchy server”的读音,即充满补丁的服务器,因为Apache基于GPL发布,大量开发者不断为Apache贡献新的代码,功能,新的特性,修改原来的缺陷。

Apache服务器的特点是使用简单,速度快,性能稳定,可以作为负载均衡及代理服务器来使用。

 

1.2 Prefork MPM工作原理

每辆汽车都有发动机引擎,不同的引擎,对车子运行效率也不一样,同样Apache也有类似工作引擎或者处理请求的模块,称之为多路处理模块(multi-processing modules,MPM),Apache Web服务器有三种处理模块,Prefork MPM,Worker MPM,Event MPM。

在企业中Apache最长用的处理模块为Prefork MPM和Worker MPM。Event MPM不支持HTTPS方式,官网也给出“This MPM is experimental,so it may or may not work as expected”的提示,所以Event MPM很少被使用。

默认Apache处理模块为Prefork MPM方式,Prefork PMP采用的预派生子进程方式,Prefork用单独的紫禁城来处理不同的请求,进程之间是彼此独立的,所以比较稳定。

Prefork MPM的工作原理:控制进程Master在最初建立“StartServers”个进程后,为了满足MinSpareServers设置的最小空闲进程,所以需创建第一个空闲进程,等待一秒钟,继续创建两个,在等一秒钟,继续创建四个,依次安装递增指数级创建进程数,最多每秒同时创建32个空闲进程,知道满足至少有MinSpareServers设置的值为止。

Apache的预派生模式(Prefork),基于预派生模式不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能,不过由于Prefork MPM引擎是基于多进程方式提供对外服务,每个进程占内存也相对较高。

 

1.3 Worker MPM 工作原理

相对于Prefork MPM,Worker方式是2.0版中全新的支持多线程和多进程混合模型的MPM,由于使用线程来处理,所以可以处理海量的HTTP请求,而系统资源的开销要小于基于Prefork多进程的方。Worker也是基于多进程,但每个进程又生成多个线程,这样可以保证多线程可以获得进程的稳定性。

Worker MPM的工作原理:控制进程Master在最初建立“StartServers”个进程,每个进程会创建ThreadsPerChild设置的线程数,多个线程共享该进程内存空间,同时每个线程独立的处理用户的HTTP请求。为了不再请求到来时在生成线程,Worker MPM也可以设置最大最小空闲线程。

Worker MPM模式下同时处理的请求总数=进程总数*ThreadsPerChild,也即等于MaxClients。如果服务器负载很高,当前进程数不满足需求,Master控制进程会Fork新的进程,最大进程数不能超过ServerLimit数,如果需要调整的StartServers进程数,需同时调整ServerLimit值。

Prefork MPM与Worker MPM引擎区别总结如下:

  • Prefork MPM模式:使用多个进程,每个进程只有一个线程,每个进程在某个确定的时间只能维持一个连接,有点是稳定,但内存开销较高。
  • Worker MPM模式:使用多个进程,每个进程包含多个线程,每个线程在某个确定的时间只能位置一个连接,内存占用量比较小,适合大并发,高流量的Web服务器。Worker MPM缺点是一个线程崩溃,整个进程就会连同其任何线程一起挂点。

 

1.4 Apache Web服务器安装

从Apache官方分站点下载目前稳定版本的httpd-2.2.17版本,目前最新版本为2.4版本,下载地址如下:http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.46.tar.bz2

Apache Web服务器安装步骤详解如下:

[root@yunanjiaoyu ~]# tar xf httpd-2.2.17.tar.gz //tar工具解压httpd包。

[root@yun

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值