HTTP 之 HTTPD介绍

HTTP 之 HTTPD介绍,第1张

1 概述

httpd是Apache 超文本传输协议 (HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。20世纪90年代初,国家超级计算机应用中心NCSA开发,1995年开源社区发布apache(a patchy server)

2 httpd特性:

.高度模块化:core + modules

.DSO: Dynamic Shared Object动态加/卸载

.MPM:multi-processing

module多路处理模块

3 httpd功能特性

.虚拟主机:基于IP、Port、FQDN来创建虚拟主机,可以在一台物理服务器上搭建多个网站

.CGI:Common

Gateway Interface,通用网关接口

网关解决了不同的网络或者不同的协议燃脊察之间的通信,相当于是翻译的作用,这里是一个通用的概念

正向代理:为客户端访问外部网络提供服务,主要是提供了缓存,同时也可以进行用户行为控制

反向代理:起到了调度的作用,同时也可以做行为控制,nginx可以作为反向代理服务器,haproxy是专业的反向代理服务器

.负载均衡:根据用户的访问量来控制将请求分发到哪一台服务器上

.路径别名

.丰富的用户认证机制:如打开页面后d出用户名和密码,一般不用web提供的,都是公司自己定制实现

basic

digest

.支持第三方模块

4 Httpd安装

.版本

CentOS6: 2.2

CentOS7: 2.4

.安装方式:

rpm:centos发行版,稳定,建议使用

编译:定制或特殊需求,如软件版本有漏洞,要通过源码编译安装实现,或者定制自己的特定需求功能

.CentOS 6程序环境:httpd-2.2

配置文件

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

/etc/httpd/conf/httpd.conf配置了Include

conf.d/*.conf这句话,表示模块可以单独写在/etc/httpd/conf.d/这个路径下,写出独立的配置文件,也可以加载出模块这里也可以看出,如果要额外添加配置,增加功能,可以直接写在/etc/httpd/conf.d/这个路皮茄径下的模块,这样要删除也比较好删。当主配置文件和子配置文件都有相同的配置是,如果同一字段的配置有冲突,默认是以主配置文件生效的,原因是在主配野搜置文件中include的子配置文件这句配置在配置DocmentRoot"/app/website"之前,默认是后面的配置生效,所以DocmentRoot"/app/website"这行配置比子配置优先,覆盖了前面的配置

检查配置语法:

httpd –t

service httpd  configtest

5 httpd自带的工具程序

.httpd自带的工具程序

htpasswd:basic认证基于文件实现时,用到的账号密码文件生成工具

apachectl:httpd自带的服务控制脚本,支持start和stop

这个工具类似dns的rndc这个工具

apachectl这是一个脚本

apxs:httpd-devel包提供,扩展httpd使用第三方模块工具

rotatelogs:日志滚动工具

access.log -->access.log,access.1.log -->access.log, acccess.1.log, access.2.log依次增加log,最新的log放在文件access.log里,旧的log会依次备份

suexec:访问某些有特殊权限配置的资源时,临时切换至指定用户身份运行

6 httpd的压力测试工具

.httpd的压力测试工具.ab来自httpd-tools服务包

.ab, webbench, http_load, seige

.Jmeter开源

.Loadrunner商业,有相关认证

.tcpcopy:网易,复制生产环境中的真实请求,并将之保存

.ab [OPTIONS] URL

来自httpd-tools包

ab测试的是最大性能,所以实际情况下,可能不是最大性能在处理http请求

-n:总请求数

-c:模拟的并行数

-k:以持久连接模式测试

ulimit  –n  #调整能打开的并发文件数,例子ulimit -n  2048 调整为2048.ulimit -a可以查看所有参数

7 CentOS 6 httpd程序环境

.服务脚本:/etc/rc.d/init.d/httpd

脚本配置文件:/etc/sysconfig/httpd

.服务控制和启动:

chkconfighttpdon|off

service{start|stop|restart|status|configtest|reload}httpd

端口号默认是80

.站点网页文档根目录:

/var/www/html

.模块文件路径:其中/etc/httpd下的modules是软链接的关系

modules ->../../usr/lib/httpd/modules

/etc/httpd/modules

/usr/lib64/httpd/modules

CentOS 6 httpd程序环境

.主程序文件:

/usr/sbin/httpd,默认用的是httpd

/usr/sbin/httpd.worker

/usr/sbin/httpd.event

.主进程文件:

/etc/httpd/run/httpd.pid

这个是服务启动的时候才会生成,服务器停止的时候就删掉,如果已经存在同名文件,启动时候就会覆盖掉这个进程

.日志文件目录:

/var/log/httpd

access_log:访问日志

error_log:错误日志

.帮助文档包:

httpd-额外的文档包,建议要安装,否则要到官网上才能看到

yum install httpd-manual,然后要重启服务或者重新加载配置才能使用

service httpd reload然后在自己搭建的apache就可以直接访问,如 http://172.18.50.75/manual/

进程文件:apache.exe

进程名称:apache

描述:apache.exe是apachehttp服务器软件的程序。它快速、可靠、可通过简单的api扩展,perl/python解释器可被编译到服务器中,而且完全免费,完基毕全开放源代码。如果你需要创建一个每天有数百万人访问的web服务器,apache可能是扮含最佳选搏缺芹择。

你可以删除pctutu.html文件来解决

名称掘扒而已。

本质上是一样的。

httpd 名头太大,很多人往往就以 Apache 来统称 httpd 。

在不同的 Linux 发行版里,所用的命令也不一样。岩散老

举例,Redhat系(包括 CentOS,Fedora)是这样的:

service httpd start/stop/restart

Debian系粗升(包括 Ubuntu)可以是这样的

/etc/init.d/apache2 start/stop/restart


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12383575.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存