LAMP系列之源码级别研究Apache

运维 系统运维
我们在学习LAMP时,都知道LAMP是由 Linux+Apache+Mysql+Perl/PHP/Python 一起组成的,有的人喜欢研究LAMP Apache的源码,让我们来看看怎么研究。

LAMP系列之源码级别研究Apache的具体内容如下:

  要展开这个话题,我想首先需要解决好为什么需要这样做的问题。源码级别看待Apache,首先需要解决态度问题哈。

  追溯Apache的历史,从Tin Berners-Lee 1991年编写的CERN HTTP服务器算起,已经有20多年历史了。当下,Apache可以说是***Web服务器。facebook,google,百度等大型互联网公司所使用的web server属于定制过的Apache,广义上也算是Apache吧,这样看的话,互联网流量的绝大部分都是由Apache服务器提供。PHP方面,虽然现有后起之秀nginx,网上也到处都是Apache和nginx评测文章,论调基本一致:nginx比Apache更优。这里不做比较,只要你承认,Apache的的确确是一款优秀的web server就足以了,至于这一点,我想就算是nginx的拥趸,也不会质疑这一点。Apache良好的模块化架构设计已经成为经典的服务器架构。

  然而,看看计算机书架上的Apache的书,几乎都是讲如何使用Apache的,很少有对Apache进行源码级别研究的,可是,功利一点的角度来看,很多大公司在进行招聘的时候,又希望招到那些熟悉Apache模块的,***还有Apache模块开发经验的人。从实践到理论来看,我想,源码级别研究Apache,对于相关从业人员来说,是很有必要的。单单从软件开发的角度来看,Apache由于自身优秀的架构,任何深入研究它的人,都可以吸取丰富的营养。

  源码级别研究Apache,我想到的一个很重要的原因,那就是业务的变迁所致。随着业务的变化,我们在开发应用的时候,经常要在现有Apache模块的基础上开发新的模块,或是修改已有模块。举个简单的例子,现在很热门的SNS游戏,很多时候客户端需要向服务端发送请求,我的经验表明,很多请求仅仅需要服务器端返回几个字节的结果。但是,我们都明白,Apache采用HTTP协议,不管请求还是返回结果,基本都有三部分组成:请求行(返回状态),头部,数据体。就算你仅仅返回一个字节的处理结果,其也要返回一个庞大的数据流。对于以前的网页型的应用来说,那点头部信息对于网页中的CSS样式,图片等信息来说可以忽略不计。但是,在SNS这一类型的应用中就需要仔细斟酌了。很受欢迎的SNS游戏一般都面临着极大的服务器压力,我们在架设SNS服务器的时候,根据我们的应用是修改定制Apache模块,将极大的减小应用对于服务器的压力。

通过文章的阐述,我们明白了许多道理,LAMP 的Apache模块是非常好用的,但是需要改进!

【编辑推荐】

  1. 精简的LAMP环境搭建
  2. 学习 Flickr 的 基于 LAMP 的容量规划经验
  3. Redhat Linux AS4下的LAMP与Discuz装置
  4. lamp solutions
  5. LAMP的安装和配置讲解
  6. node.js、MongoDB下一代的LAMP
  7. 确保安全使用LAMP开源开发工具的四步曲
责任编辑:赵鹏 来源: 网络转载
相关推荐

2021-05-17 09:50:06

Kubebuilde源码CURD

2016-09-22 15:50:38

JavascriptRedux源码解析

2016-12-09 19:21:14

2011-03-22 12:53:35

UbuntuLAMPApache

2011-03-21 10:49:33

LAMPApache

2011-03-10 09:31:02

LAMP安装

2011-03-21 11:33:09

LAMPApache

2011-03-14 13:07:22

LAMPApache调优

2022-04-06 14:55:45

Harmony同步机制鸿蒙

2011-03-21 13:59:44

Apachemysqlphp

2011-03-09 14:34:10

lamp安装

2011-03-23 14:49:27

LAMP安全apache

2011-03-21 14:13:44

LAMPApacheSSL

2011-03-11 14:02:53

Apache配置

2011-03-21 14:41:04

LAMPapacheweb

2011-03-23 15:55:41

LAMP

2009-03-10 18:36:56

LinuxLAMP环境搭建

2011-03-21 13:04:38

LAMPApache

2011-03-10 10:51:45

Ubuntu搭建LAMP

2021-01-22 15:18:21

UbuntuLinuxApache
点赞
收藏

51CTO技术栈公众号