编译安装LAMP之httpd-2.4.4

编译安装httpd-2.4.4

在编译httpd-2.4.4之前,我们来讨论一下httpd是如何实现和php来交互的?

当一个客户端发送一个web请求,如果这个request是请求的一个静态页面,那么httpd就直接从服务器加载静态内容返回给客户端;如果请求的是一个动态内容,例如请求的是一个php页面,那么httpd又该如何处理动态请求呢?

由于动态内容都是某种编程语言来实现的,这种编程语言需要借助额外的程序来执行,执行完这些脚本之后,就会生成一个静态页面,并将结果返回给apache服务器,Apache服务器在返回给客户端,这就是动态内容的实现机制。

这个程序叫做CGI解释器,这个解释器是由cgi(common gateway interface)产生的。CGI解释器可以是任何一种语言来编写,因此CGI解释器含有多种类型,不同的编程语言,CGI解释器不同,例如php的CGI解释器为php-cgi.

由于我们使用的httpd和php的交互方式不一样,导致服务器的性能也不一样

而httpd和php交互的方式有三种:

1、CGI方式

这种方式就是当客户端请求一个php页面时,Apache服务器会调用cgi生成一个php的CGI解释器,来直接解释执行php脚本,执行完成后生成一个页面,然后再将这个页面返回个Apache服务器,最终返回给客户端。不过一旦请求结束,那么CGI解释器这个进程会立即销毁掉。所以当有多个请求时,CGI解释器会会反复的被加载执行,可见执行效率较低。而且CGI解释器只在请求之后生成的,并不是之前生成的,所以在响应速度上比较慢。并且一旦请求的数量过多,生成的进程数也比较多,因此这种方式也很少使用了。

2、Module

这种方式是将php功能直接编译成Apache的模块,当需要php功能时,只需要加载该模块即可。模块是不能单独执行的,只有加载被调用后才可以执行 。而且一旦需要php功能,php的CGI解释器会在apache内部运行,不用重新生成一个进程,这样进程数量就减少了。

3、FastCGI/fpm

这种方式是将php功能作成一个php服务器,在这台服务器启动时,会加载FastCGI进程管理器,FastCGI进程管理器会生成多个CGI解释器进程,并等待web请求,这些CGI解释器是服务器启动后就自动创建好的,且这些进程是一直常驻在内存当中的,所以一旦有web请求时,可以立刻响应,且这些进程只需启动一次就可以了,节省了系统资源。因此这种方式来处理动态内容时更加高效。

httpd 2.4新特性:
1、MPM可于运行时装载;
 --enable-mpms-shared=all --with-mpm=event
2、Event MPM
3、异步读写
4、在每模块及每目录上指定日志级别;
5、每请求配置;<If>, <ElseIf>, <Else>;
6、增强的表达式分析器;
7、毫秒级的KeepAlive Timeout;
8、基于域名的虚拟主机不再需要NameVirtualHost指令;
9、降低了内存占用;
10、支持在配置文件中使用自定义变量;

编译安装httpd-2.4.4步骤如下:

一、编译安装apr和apr-util

这里使用的源码包为apr-1.5.1.tar.bz2和apr-util-1.5.3.tar.bz2

httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。直接升级rpm包会覆盖原来的文件。这里选择使用编译源代码的方式进行。

(1)、编译安装apr-1.5.1,编译步骤如下:

#tar -jxf   apr-1.5.1.tar.bz2

#cd apr-1.5.1

#./configure  --prefix=/usr/local/apr    #指定apr安装目录

#make

#make  install

(2)、编译安装apr-util-1.5.3.tar.bz2,编译步骤如下:

#tar -jxf  apr-util-1.5.3

#cd  apr-util-1.5.3

#./configure --prefix=/usr/local/apr    --with-apr=/usr/local/apr  (指定apr在哪)

#make

#make  install

(3)、 httpd-2.4.4编译过程也要依赖于pcre-devel软件包,需要事先安装。

yum install pcre-devel

二、编译安装httpd-2.4.4

时间: 2024-10-23 17:42:46

编译安装LAMP之httpd-2.4.4的相关文章

编译安装LAMP之httpd

编译安装httpd(httpd 2.4.4,相关软件包可到apache官网上下载) # hwclock -s 将软件时间同步为硬件时间,防止安装软件时出错 1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级.这里使用源码包进行升级(apr-1.5.2,apr-util-1.5.4 ) (1) 编译安装apr # tar xf apr-1.5.2.tar.bz2 # cd apr-1.5.2 # ./configure --prefix=/us

马哥学习笔记六——编译安装LAMP只httpd

1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级.升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包.这里选择使用编译源代码的方式进行. (1) 编译安装apr # tar xf apr-1.4.6.tar.bz2 # cd apr-1.4.6 # ./configure --prefix=/usr/local/apr # make && make install (2) 编译安装apr-util # tar xf ap

编译安装LAMP[两种结合方式]

本文旨在实践编译安装LAMP环境,搭建Zblog系统,使用Xcache为PHP加速,分离PHP与Apache Server LAMP基础知识 Linux + Apache + MySQL[MariaDB] + PHP[Perl|Pyton] 是一套基础的web环境: Apache有2.2版本,和最新的2.4版本,2.4版本支持Event MPM可用作生产环境,在http2.2中有3种MPM,为不同的进程文件,切换需要重启Apache服务:而2.4中MPM做成了DSO,可动态加载切换: Apach

编译安装LAMP及分离式LAMP平台构建

前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富.轻量.快速开发等特点,与微软的.NET架构相比,LAMP具有通用.跨平台.高性能.低价格的优势,因此LAMP无论是性能.质量还是价格都是企业搭建网站的首选平台.但由于MySQL作为SUN公司

编译安装LAMP之一

环境:CentOS-6.5-i386-minimal httpd-2.2.27.tar.gz mysql-5.5.38-linux2.6-i686.tar.gz php-5.5.14.tar.gz 编译安装的原则:对于我们来说,需要定制的就直接编译,其余的一切皆yum / apt-get搞定 1.关闭iptables和SELinux [[email protected] ~]# service iptables stop [[email protected] ~]# setenforce 0 2

Centos 7.0 编译安装LAMP(Linxu+apache+mysql+php)之源码安装Mysql (二)

mysql 简介: MySQL是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性.目前其属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件.MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言. 安装环境: 系统: centos 7.0 最小化安装 软件

实践作业之编译安装LAMP

题目1:httpd所支持的处理模型有哪些,他们的分别使用于哪些环境. (1)prefork模型: 功能:多进程模型,每个进程响应一个请求 工作方式: ①一个主进程:负责生成子进程及回收子进程(工作进程),负责创建套接字,负责接收请求,并将其派发给某子进程进行处理 ②n个子进程:每个子进程一个请求 主控进程会预先生成几个空闲子进程,随时等待用于响应用户请求.根据处理过程,可能会改变空闲进程的数量,需要定义最大空闲和最小空闲 (2)worker模型: 功能:多进程多线程模型,每个线程处理一个用户请求

ubuntu10.04编译安装LAMP

ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关于介绍lamp的在这里我就不罗嗦了,直接上配置过程 1.apr包的安装 apr简介: The mission of the Apache Portable Runtime (APR) project is to create and maintain software libraries that

编译安装LAMP(两种场景)

编译安装LAMP 场景一:AP组合以模块方式结合(编译PHP作为httpd的模块):进而完成虚拟主机PMA(phpmyadmin)和discuz论坛 场景二:AP组合以fpm方式,PHP独立守护进程运行:进而完成虚拟主机PMA(phpmyadmin)和discuz论坛 ==========================场景一============================ 拓扑结构: 主机一 网卡1IP为172.20.1.100 网卡2IP为192.168.217.219 在此计算机上

编译安装 LAMP 平台

> 一.软件包 Linux:CentOS-6.4     Apache:httpd-2.4.9     MySQL:mysql-5.6.19     PHP:php-5.4.30 二.编译安装 httpd 在安装 httpd 之前,首先要安装两个依赖包:apr 和 apr-util.apr 是 apache portable runtime 的缩写,是 apache 提供的一个可以跨平台使用的 API.安装方法很简单,就是编译安装的三步骤: # apr tar xf apr-1.5.1.tar.