Httpd-2.4

1.mpm支持运行dos机制

2.支持event mpm

3.支持异步读写

4.支持每模块及每个目录分别使用各自的日志级别;

5.每请求配置;

6.增强版的表达式分析

7.支持毫秒级别的keeplive timeout

8.基于fqdn的虚拟主机不再需要namevirtualhost指令;

9.支持用户自定义变量

新模块:

1.mod_proxy_fcgi

2.Mod_ratelimt

3.Mod_remoteip

修改了一些配置机制;

不再支持使用order,deny,allow对ip进行访问控制

httpd依赖于apr,apr-util,apr-icon

apr:apache portable runtime  可移植运行库

安装过程:

1.先安装开发环境:

yum groupinstall "Development Tools" "Server Platform Development" -y
yum install -y pcre-devel zlib-devel

要安装1.4以上版本apr 以及apr-until

2.下载安装apr-1.5.2

[root@localhost ~]# wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz
tar -zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make
make install

3.下载安装apr-until-1.5.4

[root@localhost ~]# wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
tar -zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install

4.下载http-2.4.17

wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.17.tar.gz
[root@localhost httpd-2.4.17]# tar -zxvf httpd-2.4.17.tar.gz
创建apache用户和组:groupadd -r apache
[root@localhost ~]# useradd -r -g apache apache
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
编译参数属性解释:
--prefix 指定httpd2.4的安装路径
--sysconfdir 指定配置文件路径
--enable-so 启动sharedobject共享对象
--enable-ssl 启用ssl,借助于此可以实现HTTPS访问
--enable-cgi 启用CGI,可以实现CGI脚本执行
--enable-rewrite 启用Rewrite重写,能够实现诸如301重定向的功能,以来PCRE包
--with-zlib 启用zlib压缩
--with-pcre 启用PCRE
--with-apr 指定apr的路径,httpd2.4依赖apr1.4版本以上,所以要指明
--with-apr-util 指定apr-util的路径,同上
--enable-modules 启用哪些模块加载,most尽可能多的
--enable-mpms-shared=all http2.4上prefork、worker、event是模块化的,可以动态加载
--with-mpm=prefork 指明默认的httpd2.4 MPM,即运行在prefork模型下

修改系统用户:

[root@localhost apache]# vim /etc/httpd/httpd.conf
#User daemon
#Group daemonUser apache
Group apache

编译安装网页存放目录:/usr/local/apache/htdocs

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

启动服务:添加环境变量,找到apachectl 命令路径:

vim /etc/profile.d/httpd.sh
export PATH=/usr/local/apache/bin:$PATH
apachectl start

或者用hash -r命令清除搜索记录:
httpd -M 查看全部模块

查看系统进程:http已经启动完毕。

[root@localhost ~]# ps aux | grep httpd
root      41702  0.0  0.1  72108  1968 ?        Ss   01:15   0:00 /usr/local/apache/bin/httpd -k start
apache    41703  0.0  0.1  72108  1400 ?        S    01:15   0:00 /usr/local/apache/bin/httpd -k start
apache    41704  0.0  0.1  72108  1400 ?        S    01:15   0:00 /usr/local/apache/bin/httpd -k start
apache    41705  0.0  0.2  72108  2040 ?        S    01:15   0:00 /usr/local/apache/bin/httpd -k start
apache    41706  0.0  0.1  72108  1400 ?        S    01:15   0:00 /usr/local/apache/bin/httpd -k start
apache    41707  0.0  0.2  72108  2032 ?        S    01:15   0:00 /usr/local/apache/bin/httpd -k start
apache    41902  0.0  0.1  72108  1408 ?        S    02:03   0:00 /usr/local/apache/bin/httpd -k start
apache    41903  0.0  0.1  72108  1408 ?        S    02:03   0:00 /usr/local/apache/bin/httpd -k start
apache    41904  0.0  0.1  72108  1408 ?        S    02:03   0:00 /usr/local/apache/bin/httpd -k start
root      41919  0.0  0.0 103304   888 pts/0    S+   02:06   0:00 grep httpd
[root@localhost ~]#

# Path to the apachectl script, server binary, and short-form for messages.

apachectl=/usr/local/apache/bin/apachectl

httpd=${HTTPD-/usr/local/apache/bin/httpd}

prog=httpd

pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}

lockfile=${LOCKFILE-/var/lock/subsys/httpd}

RETVAL=0

STOP_TIMEOUT=${STOP_TIMEOUT-10}

配置:

1:切换使用mpm:

打开配置文档找到以下模块位置:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so

NAME:prefork,event,worker

2:修改“main”server的DocumentRoot

打开:

[root@localhost ~]# vim /etc/httpd/httpd.conf

找到:

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/usr/local/apache/htdocs" 修改两个主页目录
<Directory "/usr/local/apache/htdocs">   同上,并且一致

3:基于ip的访问控制法则

允许所有主机访问:Require all granted

拒绝所有主机访问:Require all deny

控制特定ip访问:

require ip IPADDR:授权指定来源的主机访问

Require not ip IPADDR:拒绝指定来源地址的主机访问

ipADDR:

ip:192.168.1.1

network/mask 192.168.1.0/24

Network/Lenth

HostName:

FqDN

DOMAIN:

4:虚拟主机配置:

基于IP,port和FQDN

基于FQDN不再需要NameVirtualHost指令

(1)需要注释掉中心主机:

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot "/usr/local/apache/htdocs"
#<Directory "/usr/local/apache/htdocs">

(2)找到配置文件里的以下参数:

# Virtual hosts
Include /etc/httpd/extra/httpd-vhosts.conf  这项开启

(3)进入到extra目录下:找到httpd-vhosts.conf

[root@localhost ~]# cd /etc/httpd/extra/
[root@localhost extra]# ls
httpd-autoindex.conf  httpd-default.conf  httpd-languages.conf  httpd-mpm.conf                 httpd-ssl.conf      httpd-vhosts.conf
httpd-dav.conf        httpd-info.conf     httpd-manual.conf     httpd-multilang-errordoc.conf  httpd-userdir.conf  proxy-html.conf
[root@localhost extra]#

打开httpd-vhosts.conf配置文件:

修改参数,以下实例参考:

<VirtualHost *:80>ServerAdmin webadmin@a.comDocumentRoot "/vhost/www.a.com/htdoc/"ServerName www.a.comServerAlias a.comErrorLog "logs/www.a.com-error_log"CustomLog "logs/www.a.com-access_log" combined<Directory "/vhost/www.a.com/htdoc/">Options NoneAllowOverride noneRequire all granted</Directory>
</VirtualHost>

修改启动脚本参数为以下内容:

apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
RETVAL=0
STOP_TIMEOUT=${STOP_TIMEOUT-10}

转载于:https://blog.51cto.com/houzhimeng/1703921

httpd-2.4编译安装基本步骤相关推荐

  1. 编译安装Nginx步骤详解

    编译安装Nginx步骤详解 1,去Nginx官方网站下载源码包并解压 curl -O 或wget 跟下载链接 tar -xf 解压 2,进入nginx解压后的目录执行./configure - ./c ...

  2. linux下编译httpd,Linux下编译安装Apache httpd 2.4

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.当前Apache版本为2.4,本文主要描 ...

  3. mysql 5.6.41编译安装详细步骤

    转自:https://www.cnblogs.com/netsa/p/7088494.html 简略步骤: mysql5.6.41编译安装步骤: 下载mysql 准备用户和组 yum安装依赖 解压my ...

  4. 系统中编译安装ZLMediaKit的步骤

    这篇文章给大家分享的是centos6系统中编译安装ZLMediaKit的步骤.小编觉得挺实用的,因此分享给大家学习.如下资料是编译安装的步骤.  1.安装基础编译环境 1.1 gcc-5.4的安装  ...

  5. linux yum安装分区工具,搭建本地和网络yum源、源码编译安装软件及磁盘分区管理...

    1.自建yum仓库,分别为网络源和本地源 1)挂载光盘镜像 [root@centos7 ~]#mount /dev/sr0 /mnt/ [root@centos7 ~]# df -h Filesyst ...

  6. 源码编译安装LAMP(Linux, Apache ,Mysql ,PHP)-------------- (连载篇(三)----PHP)

    编译安装PHP 步骤流程: 本文接上文,第三篇PHP 软件包版本:php-7.1.10.tar.bz2 步骤一:安装PHP环境 yum -y install \ libjpeg \ libjpeg-d ...

  7. Linux安装和管理程序(包括rpm包安装、卸载、升级以及源码包的手工编译安装)

    点击蓝色目录查找相应内容 Linux应用程序简介 应用程序与系统命令的关系 典型应用程序的目录结构 常见的软件包封装类型 RPM包管理工具 查询RPM软件包信息 查询已安装的RPM软件信息 查询未安装 ...

  8. 源代码软件的编译安装

    实验二:源代码软件的编译安装 3 源代码软件的编译安装 3.1 问题 RPM包相当于一个傻瓜化的程序,什么都预先定制.编译好了,从而大大简化了Linux 下应用软件安装的难度.但也正因为如此,RPM安 ...

  9. php编译7教程,PHP7 快速编译安装

    PHP7正式版发布啦, 之前没有安装过的,都来安装试一试 . 即将发布的ThinkPHP5 在PHP7环境下也完全兼容, 佩服鸟哥把兼容性做得这么好 快速编译安装PHP7步骤: 第一步: 安装必要一些 ...

最新文章

  1. mysql查询枚举类型转换_zendframework获取数据库中枚举类enum的数据并将其转换成数组...
  2. “System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。
  3. 麒麟9000芯片的库存真就是个迷
  4. 使用TinyPNG批量压缩图片
  5. 软件测试简历常见问题
  6. 堆栈宽度学习Stacked BLS的简单python代码实现
  7. 【Spark Mllib】决策树,随机森林——预测森林植被类型
  8. vue Uint8Array转字符串中文乱码
  9. el-descriptions
  10. 2021阿里云双11云服务器配置表汇总!
  11. Zabbix-3.0.x使用OneAlert发送告警
  12. TEEOS的实例-在线支付系统
  13. Origin——积分工具
  14. 如何将高效设计应用于 DAO?
  15. 这款录屏神器在 GitHub 火了,秒杀 33 种同类工具!
  16. ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程
  17. python 文件缓存
  18. 百万调音师—Audition 标记
  19. 添加Kinect模型及kinect.dae文件的下载
  20. 征战奥斯卡,3部冲奥动画短片制作解析抢鲜看

热门文章

  1. 微信小程序用wxs实现手机号码用****代替
  2. MATLAB调用python文件方法
  3. 2020-12-29 Matlab自动化控制-Adrc自抗扰控制参数调节
  4. 飞花的糖果_JAVA
  5. 面试题整理13 合并排序链表去重
  6. vs程序生成后找不到exe文件
  7. 《mongodb权威指南》学习
  8. 第四讲、Linux常用命令
  9. 【深度学习】训练集、验证集、测试集
  10. Programming Computer Vision with Python (学习笔记四)