博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编译安装httpd-2.4.12
阅读量:5158 次
发布时间:2019-06-13

本文共 2258 字,大约阅读时间需要 7 分钟。

前言:

  Apache HTTP (简称)是的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

环境介绍

  系统环境:CentOS6.5

  所需软件包:apr-1.5.1.tar.gz、apr-util-1.5.4.tar.gz、httpd-2.4.12.tar.gz

  注意:httpd2.4需要依赖apr和arp-util 1.4以上版本

CentOS编译安装Apache准备:确保开发包组已安装(Development tools、Server Platform Development) 

# yum groupinstall Development tools Server Platform Development

 

0、查询旧版apache的包名,卸载旧版的apache

rpm -q httpdrpm -e httpd-2.2.15-31.el6.centos.x86_64 --nodeps

1、下载官方源码包并解压:  

wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.12.tar.gzwget http://mirror.bit.edu.cn/apache/apr/apr-1.5.1.tar.gzwget http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.4.tar.gz

2、解压

tar -xvf httpd-2.4.12.tar.gz
tar -xf apr-1.5.1.tar.gz tar -xf apr-util-1.5.4.tar.gz

3、解决依赖关系:

mv apr-1.5.1 httpd-2.4.12/srclib/aprmv apr-util-1.5.4 httpd-2.4.12/srclib/apr-util

2、切换至源码目录:

cd httpd-2.4.12

3、执行configue脚本:

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd/ --enable-so
1 编译参数详解: 2  3 --prefix:#安装路径 4  5 --sysconfdir:#指定配置文件路径 6  7 --enable-so:#DSO兼容,DSO=Dynamic Shared Object,动态共享对象,可实现模块动态生效 8  9 --enable-ssl:#支持SSL/TLS,可实现https访问 需已安装openssl-devel10 11 --enable-cgi:#支持CGI脚本(默认对非线程的MPM模式开启)12 13 --enable-rewrite:#启用Rewrite功能,URL重写14 15 --enable-deflate:#支持压缩功能16 17 --with-zlib:#使用指定的zlib库,不指定路径会自动寻找18 19 --with-pcre:#使用指定的PCRE库,不指定路径会自动寻找 需已安装pcre-devel20 21 --with-apr:#指定apr安装路径22 23 --with-apr-util:#指定apr-util安装路径24 25 --enable-mpms-shared:#支持动态加载的MPM模块,可选参数:all26 27 --with-mpm:#设置默认启用的MPM模式,{prefork|worker|event}28 29 --enable-modules:#支持动态启用的模块,可选参数:all,most,few,reallyall30 31 #编译之前可使用./configure --help查看各项参数

4、make and make install

make && make install

5、为了方便命令使用需要添加环境变量,编辑二进制程序如何让系统找到:

# cat /etc/profile.d/apache.shPATH=/usr/local/apache/bin:$PATHexport PATH

6、头文件输出给系统:

#ln -sv /usr/local/apache/include /usr/local/include/httpd

7、让系统重新生成库文件路径缓存

#ldconfig -v |grep "^[^[:space:]]"

8、启动apache服务:

# apachectl start

9、查看80端口是否被监听:

netstat -ntl

第一次遇到的情况是80端口未被监听,于是打开安装目录下:/usr/local/apache/logs/error_log出现如下提示:

google了一下原因可能,资源受限,不能分配内存

解决方法:

 

# ulimit -u unlimited   #修改 用户最大进程数  # echo ulimit -u unlimited >>/etc/profile   #保存修改到自启动文件  

再次查看80端口已被监听:

浏览器访问测试:

编译安装成功!

 

转载于:https://www.cnblogs.com/musenl/p/4420067.html

你可能感兴趣的文章
jQuery on(),live(),trigger()
查看>>
导航,头部,CSS基础
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
面试时被问到的问题
查看>>
注解小结
查看>>
list control控件的一些操作
查看>>
判断字符串在字符串中
查看>>
201421410014蒋佳奇
查看>>
Xcode5和ObjC新特性
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
CSS属性值currentColor
查看>>
Real-Time Rendering 笔记
查看>>
实验四2
查看>>
多路复用
查看>>
javascript 无限分类
查看>>
spring IOC装配Bean(注解方式)
查看>>
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
查看>>