HTTP服务
文章目录
1.1http简介
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows中作为服务运行。
1.22httpd版本
本文主要介绍httpd的两大版本,httpd-2.2和httpd-2.4
* CentOS6系列的版本默认提供的是httpd-2.2版本的rpm包
* CentOS7系列的版本默认提供的是httpd-2.4版本的rpm包
1.3http新增的模块
模块 | 功能 |
---|---|
mod_proxy_fcgi | 反向代理时支持apache服务器后端协议的模块 |
mod_ratelimit | 提供速率限制功能的模块 |
mod_remoteip | 基于ip的访问控制机制被改变,不再支持使用Order,Deny,Allow来做基于IP的访问控制 |
1.4http自带的工具程序
工具 | 功能 |
---|---|
htpasswd的 | 基本的认证基于文件实现时,用到的帐号密码生成工具 |
apachectl | httpd自带的服务控制脚本,支持start,stop,restart |
apxs | 由httpd-devel包提供的,扩展httpd使用第三方模块的工具 |
rotatelogs | 日志滚动工具 |
suexec | 访问某些有特殊权限配置的资源时,临时切换至指定用户运行的工具 |
ab | apache benchmark,httpd的压力测试工具 |
1.5 rpm包安装的httpd程序环境
文件/目录 | 对应的功能 |
---|---|
/var/log/httpd/access.log | 访问日志 |
/var/log/httpd/error_log | 错误日志 |
/var/www/html/ | 站点文档目录 |
/usr/lib64/httpd/modules/ | 模块文件路径 |
/etc/httpd/conf/httpd.conf | 主配置文件 |
/etc/httpd/conf.modules.d/*.conf | 模块配置文件 |
/etc/httpd/conf.d/*.conf | 辅助配置文件 |
2编译安装httpd-2.4
下载apr-1.4+和apr-util-按+
[root@psr1 ~]# yum groupinstall "Development Tools"
[root@psr1 ~]# groupadd -r apache
[root@psr1 ~]# useradd -r -g apache apache
[root@psr1 ~]# yum -y install openssl-devel pcre-devel expat-devel libtool
[root@psr1 ~]# cd /usr/src/
[root@psr1 src]# tar xf apr-1.6.3.tar.bz2
[root@psr1 src]# tar xf apr-util-1.6.1.tar.bz2
[root@psr1 src]# cd apr-1.6.3/
[root@psr1 apr-1.6.3]# vim configure
#$RM "$cfgfile" 删掉此行或者加上井号注释
[root@psr1 apr-1.6.3]# ./configure --prefix=/usr/local/apr
[root@psr1 apr-1.6.3]# make && make install