LAMP环境搭建系列之三:编译安装Apache httpd 2.4.29

来源:互联网 发布:博弈矩阵怎么看 编辑:程序博客网 时间:2024/06/06 21:40

Apache 2.4的主要目标之一是大幅改进性能,它也从Nginx借鉴了不少,增加了不少对高性能的支持。

它对缓存、代理模块、会话控制、异步读写支持等都进行了改进。

编译安装前需要两个重要的依赖库APR和PCRE,官方明确指出:


APR(Apache可移植运行库),主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。
在早期 的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。
随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。
这样,APR的开发就从Apache中独立出来,Apache仅仅是使用APR而已。
一般情况下,APR开发包很容易理解为仅仅是一个开发包,不过事实上并不是。
目前,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv,每一个开发包分别独立开发,并拥有自己的版本。

下载地址如下:http://archive.apache.org/dist/apr/
PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,
由菲利普.海泽(Philip Hazel)编写。PCRE是一个轻量级的函数库,比Boost之类的正则表达式库小得多。
PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库。
PCRE被广泛使用在许多开源软件之中,最著名的莫过于Apache HTTP服务器和PHP脚本语言!

下载地址如下:http://www.pcre.org/

现在我们将需要的 apr-1.5.2.tar.gz,apr-util-1.5.2.tar.gz,httpd-2.4.29.tar.gz 上传至虚拟机/data/ide目录下!

1.安装apr

cd /data/idetar zxvf apr-1.5.2.tar.gzcd apr-1.5.2./configure --prefix=/usr/local/aprmake && make install
2.安装apr-util
cd /data/idetar zxvf apr-util-1.5.2.tar.gzcd apr-util-1.5.2./configure  --prefix=/usr/local/apr-util --with-apr=/usr/local/aprmake && make install
3.安装pcre

cd /data/idetar zxvf pcre-8.40.tar.gzcd pcre-8.40./configure --prefix=/usr/local/pcremake && make install
4.安装Apache

// apache安装目录mkdir /data/server/httpdcd /data/idetar zxvf httpd-2.4.29.tar.gzcd httpd-2.4.29./configure --prefix=/data/server/httpd \--enable-so \--enable-ssl \--enable-cgi \--enable-rewrite \--enable-modules=most \--enable-mpms-shared=all \--with-mpm=prefork \--with-zlib \--with-pcre=/usr/local/pcre \--with-apr=/usr/local/apr \--with-apr-util=/usr/local/apr-utilmake && make install// 复制apache启动文件到随机启动目录cp  /data/server/httpd/bin/apachectl  /etc/init.d/httpd// 赋予执行权限chmod 755 /etc/init.d/httpd// 修改htppd不支持chkconfig命令vi /etc/init.d/httpd# chkconfig: 35 85 15# description: Apache Web Server:wq// 添加服务chkconfig --add httpd// 随机启动chkconfig httpd on// 解注释 ServerNamevi /data/server/httpd/conf/httpd.confServerAdmin you@example.com:wq// 启动服务service httpd start// 查看版本/data/server/httpd/bin/apachectl -v


同时,我们可以通过IP访问!


最后我们解释一下编译Apache的参数:

--enable-so  // 允许运行时加载DSO模块
--enable-ssl // 启用https, 此项需要先安装openssl-devel包,我们需要使用yum安装
--enable-cgi  // 允许使用cgi脚本
--enable-rewrite  // 支持URL重写机制
--enable-modules=most        // 支持动态启用模块,most表示常用,all表示所有,以后自行到 httpd.conf 中决定是否开启模块
--enable-mpms-shared=all   // 表示以共享方式启用哪些MPM模块(prefork、worker、event),all表示所有的
--with-mpm=prefork                // 默认启用模块:prefork,worker,event
--with-zlib         // 依赖zlib,用于支持压缩功能,我们已经使用yum安装了,
--with-pcre       // 依赖的pcre
--with-apr         // 依赖的apr
--with-apr-util  // 依赖的apr-util

其实apache源码已经内置了 apr, 我们使用 --with-included-apr 就可以直接使用内置的!

关于 Apache 2.X  支持插入式并行处理模块,称为多路处理模块(MPM)就不在详细叙述!

简单的讲,Prefork 就是使用进程处理请求,高效安全,但是消耗内存!

Worker使用多线程多进程来处理请求,系统开销小,适合处理高并发应用。


点击下载用到的源码包:  http://download.csdn.net/download/konkon2012/10126484


阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝上买了假货找不到商家怎么办 魅蓝手机一直在开机画面怎么办 在实体店买的手机想退怎么办 淘宝买了东西发货了不想要了怎么办 快递已经发货了不想要了怎么办 锤子手机买了不到十天碎屏了怎么办 唯品会新人专享优惠卷过期了怎么办 我微信被系统说赌博登陆不起怎么办 平湖新居民积分卡怎么办办好办吗 电话卡插上去只能打紧急电话怎么办 不小心充错q币了怎么办 液相色谱柱堵了怎么办处理柱子 扣扣空间宠物消消87关怎么办 微信钱包里的钱忘记密码了怎么办 支付宝绑定银行卡要验证码怎么办 微信红包超出20万限额怎么办 微信充电信的号码话费没到账怎么办 农业银行手机银行转账转错了怎么办 微信钱包里的零钱不见了怎么办 买家说支付宝没钱要微信付钱怎么办 微信红包没绑卡密码忘了怎么办 手机微信红包密码忘了怎么办 qq账号忘了怎么办什么也没绑定 手机银行转账名字对卡号错了怎么办 手机夸行转账卡号输入错了怎么办 移动开通了20元流量卡怎么办? 联通手机充值卡网上充值话费怎么办 提现金额和实际到账不一样怎么办 二冲踏板冷车加油熄火怎么办? qq被盗绑定了别人的银行卡怎么办 如何更改微信支付密码忘记了怎么办 微信钱包没绑银行卡忘记密码怎么办 微信密码忘记了也没绑银行卡怎么办 微信支付密码忘记了没银行卡怎么办 想找回原来的k歌忘了密码怎么办 手机微信钱包支付密码忘了怎么办 微信支付账户被注销了怎么办 微信钱包密码忘了怎么办没绑银行卡 微信钱包密码忘了怎么办不用银行卡 企业网银密码输入三次错误怎么办 微信密码不知道手机也停用了怎么办