httpd服务的简介
httpd的简介
httpd是一个开源软件,且一般用作web服务器来使用。目前最流行的web服务器软件叫做httpd,httpd还有一个俗称叫apache,Apache是一个软件基金会,httpd也是这个软件基金会的一个项目。在早期的http server就叫做apache,到了http server 2.0以后就改名为httpd了。所以有时候听到apache服务器和httpd服务器其实都是指得是一个意思。
httpd是一个高度模块化软件,由核心(core)和模块(module)组成。这些模块大都是动态模块,因此可以随时加载。
构建httpd服务器需要的软件
httpd服务器的构建,所需要的软件:httpd和httpd-manual。
其中httpd是构建httpd服务器所需要的软件;另外的httpd-manual则是安装httpd的命令手册,可以在无网条件下,来查询httpd的相关参数。
httpd生产的文件
httpd目前有多个版本,最新的是2.4,稳定版则是2.2,还有更早的版本2.0
在安装了httpd软件之后,会自动生成多个文件。这些文件有:
/usr/sbin/httpd:httpd的二进制文件
/etc/rc.d/init.d/httpd:httpd服务的脚本文件;
/etc/httpd:httpd服务的工作根目录。
/etc/httpd/conf:httpd的配置文件目录
其中主配置文件是:./httpd.conf
配置文件还包括这些文件:/etc/httpd/conf.d/*.conf
/etc/httpd/modules:httpd模块的目录位置
/etc/httpd/logs:httpd的日志目录,这个目录链接到了/var/log/httpd这个目录
其中日志文件有两类:
访问日志为:./access_log
错误日志为:./err_log
/var/www/:网页的存放目录和cgi-bin程序的目录
/etc/httpd/conf.d/welcome.conf:如果网页的根目录下没有index.html文件时,访问服务器时将会显示的欢迎页面信息。
http的长连接功能
在早期的http/1.1版本之后,http增加了缓存功能和长连接。
缓存功能可以加速页面的打开速度。
长连接:由于http是无状态的,且http是基于tcp协议的,因此http的建立必须要经过tcp的三次握手和四次断开,所以每当请求一个资源时,都会经过tcp的三次握手和四次断开,因此,如果进行多个请求时,这样比较浪费资源,而且请求速度比较慢。所谓长连接就是客户端一直与http的80端口建立连接不断开,这样如果再有资源请求时,就不需要经过tcp的三次握手和四次断开了,客户端就可以通过之前已经建立好的连接继续请求资源,所以长连接可以增加访问请求的速度和节省带宽资源。一般我们在httpd的配置文件中需要设置关于长连接的一些参数,比如长连接请求的数目和长连接请求的时间,这样就可以避免在某个客户端一直占有该连接,其他客户端就无法与web服务器建立连接了。在http报文的header信息中,如果出现Connection:keep-alive这一行,表示这个httpd软件版本支持长连接的功能。
httpd的多到处理模块机制--MPM
对于http客户端发送的请求,web服务器主要有以下三种模型处理机制,我们将这些处理机制称作MPM(Mulit Path Modules,多路径处理模块),这三种处理机制分别是:
prefork:预先生成进程,服务器启动时会生产多个进程,并且每一个进程处理一个请求,比较稳定,任何一个进程崩溃了都不会影响到其他的进程。不过,对于并发量比较大的时候,这种机制比较浪费资源,处理的速度比较慢,并发能力差。这也是apache服务器的默认使用机制。在这种模型下,会生成一个属主属组为root的httpd进程,再由这个进程来创建其他几个属主为apache的httpd进程。因此,使用这种模型处理机制时,你会发现有一个属主为root的进程,还有几个属主为apache的httpd进程,这些属主为apache的进程是属主为root的httpd进程的子进程。
worker:这是一种基于线程来工作,服务器启动时生成多个进程,每一个进程要生成多个线程,一个线程用来处理一个请求。在这种模型下,由于线程数比较多,因此,线程切换的次数也会非常大,而线程的切换也是需要消耗时间的。并且同一个进程下的所有线程共享同一个资源,会产生资源竞争问题,因此这种模型的并发能力看是比prefork模型要好,但由于也比较消耗资源,因此真正工作起来,两者也不会相差很远。
event:基于事件驱动机制来工作的,这种机制可以使用一个进程来响应多个请求。它的并发能力是最强的。它在httpd-2.4以后得到支持。
http的所具有的功能
对于一个web服务器来书,Apache服务器所具有的功能大概有这些:
1、可以事先创建进程,这样当有请求来时,可以快速处理
2、按需创建适当的进程,对于一个web服务器来说,创建过多的进程消耗资源太多,且不易管理。
3、web服务器采用模块化设计,核心功能比较小,各种功能是通过模块来实现的,同时也支持运行配置和支持单独编译模块等功能。
4、支持各种方式的虚拟主机配置。(虚拟主机在后面在详细介绍)
主要有三种虚机主机:
1、基于ip的虚机主机
2、基于端口的虚机主机
3、基于域名的虚拟主机
5、支持https协议(通过加载mod_ssl模块来实现)
6、支持用户认证
7、支持基于ip和主机名的ACL
8、支持每目录的访问控制
9、支持URL重写
10、支持路径别名
11、支持反向代理和负载均衡功能。通常用于tomcat的前端反向代理。
大概一个web服务器支持以上功能吧!!!
httpd的常用命令
httpd -v:查看httpd的版本号
httpd -l:查看编译进httpd程序的静态模块。
httpd -M:查看已经编译进httpd程序的静态模块和已经加载的动态模块。
转载于:https://blog.51cto.com/xslwahaha/1548983
httpd服务的简介相关推荐
- CentOS 7源码安装httpd服务
httpd的简介 httpd是一个开源软件,且一般用作web服务器来使用.目前最流行的web服务器软件叫做httpd,httpd还有一个俗称叫apache,Apache是一个软件基金会,httpd也是 ...
- Linux—搭建Apache(httpd)服务
文章目录 1.httpd简介? 2.httpd服务特点 3. httpd的工作模型 4.httpd的配置文件 5.httpd自带的工具程序 6.httpd常用配置 6.1 安装httpd服务 6.2 ...
- 没有可用软件包httpd_CentOS 7源码安装httpd服务
httpd的简介 httpd是一个开源软件,且一般用作web服务器来使用.目前最流行的web服务器软件叫做httpd,httpd还有一个俗称叫apache,Apache是一个软件基金会,httpd也是 ...
- httpd服务的访问控制
web 网站服务(二) 1:在web(一)我们发现,在访问AWSstats日志分析系统时并不需要提供账号和密码,就可以登录系统,而我们只需要知道对应的网址就可以看到web站点的访问情况,任何人都可以看 ...
- Zabbix监控httpd服务
Zabbix监控httpd服务 一.工作要求及目的 二.WEB配置步骤 1.进入监控主机列表 2.链接模板 3.查看自定义HTTP端口监控项 4.查看自定义的触发器 三.客户端测试http服务停止报警 ...
- centos7日志文件_Shell 脚本自动监控重启 httpd 服务并记录日志
环境 CentOS7 思路 设置一个死循环,执行脚本时开始启动 httpd 服务,同时开始记录当前时间,然后输出到日志中,再 sleep 14 秒,之后马上开始停止 httpd 服务,同时开始记录当前 ...
- centos httpd服务做yum本地源,以及安装Mysql
step0 首先centos的iso文件是有两张的,dvd1和dvd2,dvd2是额外的软件,常有的一些软件都在dvd1里面,而且repodata配置文件也在dvd1里面,如果直接把dvd2当做镜像文 ...
- centos7修改ip地址命令_CentOS7 安装 httpd 服务
安装 httpd 服务 输入下面命令安装 httpd 服务,注意要使用带有 root 权限 的用户,我是从普通用户切回超级用户 root 再开始执行命令的: yum -y install httpd ...
- 实验图文详解——apache的编译安装及httpd服务开机自启
实验图文详解--apache的编译安装及httpd服务开机自启 1.导入安装包 2.解压安装包 3.分别解压httpd.apr.apr-util包 4.对apr.apr-util目录进行移动及重命名操 ...
最新文章
- maya表情blendshape_Maya的形状融合变形器Blend Shape | 学步园
- 如何安装fedora13的显卡驱动
- WDS配置时遇到的问题
- Beginning C# Objects 读书笔记(一)
- U3D+SVN: 两份相同资源放在不同目录下导致META的更改
- Dubbo与SpringCloud的架构与区别
- Spring AOP示例教程 - Aspect,Advice,Pointcut,JoinPoint,Annotations,XML Configuration
- JavaScript原生对象属性和方法详解——Date对象
- python 爬取了租房数据
- 用于主题检测的临时日志(861e8353-61d5-43a9-b1b4-e055dac9cf39 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)...
- Linux入门: grep与egrep 知识总结
- 数组和集合的互相转换
- 解决pdf中翻译外文文献到word参考文献格式错误
- 2D Pixel Perfect:使用Unity创建任天堂红白机风格复古游戏
- 最简单优雅修改jupyter自带主题字体大小颜色(不需要插件不需要第三方theme)
- 大屏页面使用transform属性scale进行缩放,高德地图点击事件失效,地图展示模糊
- python sys.path[0_Python的sys.path从哪里初始化?
- cisco 2821 路由器的端口映射
- Greenplum Python专用库gppylib学习——base.py
- 百度aistudio上使用yolov4训练人脸检测模型