WEB基础及http协议(Apache)

这篇具有很好参考价值的文章主要介绍了WEB基础及http协议(Apache)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、httpd安装组成

http服务基于C/S结构

1、常见http服务器程序

  • httpd apache,存在C10K(10K connections)问题
  • nginx 解决C10K问题lighttpd
  • IIS .asp 应用程序服务器
  • tomcat .jsp 应用程序服务器
  • jetty 开源的servlet容器,基于Java的web容器
  • Resin CAUCHO公司,支持servlets和jsp的引擎
  • webshpere:IBM公司
  • weblogic:BEA,Oracle
  • jboss:RedHat,IBM
  • oc4j:Oracle

2、apache介绍和特点

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

apache 名字来源,流传最广的解释是(也是最显而易见的):这个名字来自于一个事实:当Apache在1995年初开发的时候,它是由当时最流行的HTTP服务器NCSA HTTPd 1.3的代码修改而成的,因此是"一个修补的(a patchy)”服务器。

HTTP 和 Apache 之间的关系是:HTTP定义了客户端和服务器之间的通信规则,

而 Apache 是一种能够处理这些 HTTP 请求并提供网页内容的 Web 服务器软件。

apache功能:

  • 提供http协议服务
  • 多个虚拟主机:IP、Port、FQDN   用一台 物理服务器搭建多个网站    百度  jd  淘宝
  • CGI:Common Gateway Interface,通用网关接口,支持动态程序
  • 反向代理
  • 负载均衡
  • 路径别名
  • 丰富的用户认证机制:basic,digest
  • 支持第三方模块

apache特性:

  • 高度模块化:core + modules

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

  • MPM:multi-processing module 多路处理模块

apache 功能多,稳定,处理静态资源优秀

MPM  multi-processing module   工作模式

prefork:多进程I/O模型,每个进程响应一个请求,CentOS 7 httpd默认模型一个主进程:生成和回收n个子进程,创建套接字,不响应请求多个子进程:工作 work进程,每个子进程处理一个请求;系统初始时,预先生成多个空闲进程,等待请求。

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

Prefork MPM预派生模式,有一个主控制进程,然后生成多个子进程,每个子进程有一个独立的线程响应用户请求,相对比较占用内存,但是比较稳定,可以设置最大和最小进程数,是最古老的一种模式,也是最稳定的模式,适用于访问量不是很大的场景。

优点:稳定

缺点:慢,占用资源,不适用于高并发场景
[root@localhost ~]#rpm -q httpd
未安装软件包 httpd 
[root@localhost ~]#yum -y install httpd
[root@localhost ~]#systemctl start httpd

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

  • 注意:如果是yum安装,默认模型是prefork模型

worker:复用的多进程I/O模型,多进程多线程,IIS使用此模型

一个主进程:生成m个子进程,每个子进程负责生个n个线程,每个线程响应一个请求,并发响应请求:m*n。

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

worker MPM是一种多进程和多线程混合的模型,有一个控制进程,启动多个子进程,每个子进程里面包含固定的线程,使用线程程来处理请求,当线程不够使用的时候会再启动一个新的子进程,然后在进程里面再启动线程处理请求,由于其使用了线程处理请求,因此可以承受更高的并发。

优点:相比prefork 占用的内存较少,可以同时处理更多的请求

缺点:使用keep-alive的长连接方式,某个线程会一直被占据,即使没有传输数据,也需要一直等待到超时才会被释放。
     如果过多的线程,被这样占据,也会导致在高并发场景下的无服务线程可用。(该问题在prefork模式下,同样会发生)

event:事件驱动模型(worker模型的变种),CentOS8 默认模型

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

event MPM是Apache中最新的模式,2012年发布的apache 2.4.X系列正式支持event 模型. 属于事件驱动模型(epoll),每个进程响应多个请求,在现在版本里的已经是稳定可用的模式。

优点:单线程响应多请求,占据更少的内存,高并发下表现更优秀,会有一个专门的线程来管理keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务线程,执行完毕后,又允许它释放

缺点:没有线程安全控制

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

3、Httpd安装和相关文件

1.包安装httpd并启动httpd服务

版本说明:

CentOS 7 以上,默认系统是httpd 2.4,CentOS 6 版默认为httpd 2.2

Ubuntu 18.04 默认 Apache/2.4.29

安装方式:

  • 包安装: centos发行版,稳定,建议使用

  • 编译:定制或特殊需求

[root@localhost ~]#rpm -q httpd
未安装软件包 httpd 
[root@localhost ~]#yum -y install httpd
[root@localhost ~]#systemctl start httpd

2.httpd-2.4相关文件

配置文件:

  • /etc/httpd/conf/httpd.conf 主配置文件

  • /etc/httpd/conf.d/*.conf 子配置文件

  • /etc/httpd/conf.d/conf.modules.d/ 模块加载的配置文件

检查配置语法:httpd  -t   或  apache2  -t

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

服务单元文件:

  • /usr/lib/systemd/system/httpd.service

  • 配置文件:/etc/sysconfig/httpd

服务控制和启动:

  • systemctl enable|disable httpd.service
  • systemctl {start|stop|restart|status|reload} httpd.service
  • apachectl start|stop|restart|configtest
  • service httpd start|stop|restart|configtest

站点网页文档根目录:/var/www/html

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

模块文件路径:

  • /etc/httpd/modules

  • /usr/lib64/httpd/modules

主服务器程序文件:/usr/sbin/httpd

3.Centos 7 编译安装httpd 2.4

编译说明和准备

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

APR:Apache portable Run-time libraries,Apache可移植运行库,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。目前APR主要还是由Apache使用,由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR,开源项目:比如用于服务器压力测试的Flood loader tester

1.Apache安装:

  Apache即阿帕奇是一款开源的、世界使用排名第一的Web服务器软件,其特点是简单高效、稳定安全所以被广泛应用于计算机技术的各个领域,但现在由于其抗并发性问题现在新公司大部分都使用Nginx代替。

2.Yum安装:

①yum安装与其他程序一样可以直接使用命令:yum install  httpd  -y。

②安装过程中注意查看提示信息,若无外网则需要配置本地yum源进行安装。

③出现以下提示即表示安装成功。注意:若出现error字样则表示安装出错!!!

[root@localhost ~]#rpm -q httpd
未安装软件包 httpd 
[root@localhost ~]#yum -y install httpd
[root@localhost ~]#systemctl start httpd

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

④ yum安装默认的主配置文件位置: /etc/httpd/conf/httpd.conf

⑤ yum安装默认的主页面配置文件夹位置: /var/www/html/

⑥ yum安装默认的日志文件位置:/var/log/httpd/access_log  此为正常日志记录,/var/log/httpd/error此为错误日志记录。

二、httpd常见的配置

1、指定服务器名

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

WEB基础及http协议(Apache),HTTP协议,http,apache,运维

2.包含其他配置文件

指令:

Include file-path|directory-path|wildcard
IncludeOptional file-path|directory-path|wildcard

说明:

  • Include和IncludeOptional功能相同,都可以包括其它配置文件

  • 但是当无匹配文件时,include会报错,IncludeOptional会忽略错误

include  子配置文件
[root@localhost ~]#grep -i include /etc/httpd/conf/httpd.conf 
Include conf.modules.d/*.conf
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# Possible values include: debug, info, notice, warn, error, crit,
    # If you include a trailing / on /webpath then the server will
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    AddOutputFilter INCLUDES .shtml
IncludeOptional conf.d/*.conf

总目录:文章来源地址https://www.toymoban.com/news/detail-832690.html

[root@localhost httpd]#grep -i serverroot /etc/httpd/conf/httpd.conf
# with "/", the value of ServerRoot is prepended -- so 'log/access_log'
# with ServerRoot set to '/www' will be interpreted by the
# ServerRoot: The top of the directory tree under which the server's
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# same ServerRoot for multiple httpd daemons, you will need to change at
ServerRoot "/etc/httpd"

到了这里,关于WEB基础及http协议(Apache)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web基础与HTTP协议

    1.1 DNS作用 正向解析 根据域名查找对应的IP地址; 反向解析 根据IP地址查找对应的域名 1.2 域名空间结构 ① 根域 位于域名空间最顶层,一般用一个 “.” 表示 基础单位,除了根域 其他都只有一个上级域,有0或多个子域,同层域不可重复的子域或域名 ② 顶级域 一般代表一

    2024年02月06日
    浏览(36)
  • Web基础①HTTP协议

    HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。 1.HTTP协议版本 (1)HTTP/0.9:已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头

    2024年02月21日
    浏览(34)
  • 【web基础与HTTP协议】

    1.1、域名的概述 1、域名的概念: IP地址不易记忆 2、早期使用Hosts文件解析域名: ·主机名称重复 ·主机维护困难 3、DNS(Domain Name System 域名系统): ·分布式 ·层次性 1.2、域名空间结构 ·根域 ·顶级域 — 组织域 — 国家/地区域名 ·二级域 ·FQDN=主机名.DNS后缀 DNS 解析过程 客户端

    2024年02月07日
    浏览(40)
  • web基础及http协议 (一)

    互联网:是网络的网络,是所有类型网络的母集 因特网:世界上最大的互联网网络。即因特网概念从属于互联网概念。习惯上,大家把连接在因特网上的计算机都成为主机。 万维网:WWW (world wide web)万维网并非某种特殊的计算机网络, 是一个大规模的、联机式的信息贮藏

    2024年02月21日
    浏览(33)
  • web基础+HTTP协议+httpd详细配置

    HTML(全称为Hypertext Markup Language)是一种标记语言,用于创建和组织Web页面的结构和内容。 HTML是构建Web页面的基础,定义了页面的结构和内容,通过 标记和元素 来实现。 1.1.1 HTML的文件结构 1.1.2 HTML中的部分基本标签 基本标签 含义 html HTML文档的根元素, 包含文档的全部内

    2024年02月12日
    浏览(31)
  • Linux服务第一章:web基础与http协议

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 1、网络上交互是基于TCP/IP协议的,每个主机在逻辑上有一个唯一位置标识(IP地址),物理地址为MAC地址 2、为了保证地址唯一性,用户协议向特地给机构申请注册,分配IP地址网络中的地址有两套方案

    2024年02月09日
    浏览(36)
  • 完美解决org.apache.http

    已解决org.apache.http 下滑查看解决方法 org.apache.http org.apache.http是Java中一个用于处理HTTP请求和响应的库。 下滑查看解决方法 如果你在使用org.apache.http时遇到问题,可以尝试以下解决方法: 确保你的项目中已经正确导入了org.apache.http的依赖。你可以在项目的构建文件(如pom.

    2024年02月08日
    浏览(48)
  • 记一次Apache HTTP Client问题排查

    通过日志查看,存在两种异常情况。 第一种:开始的时候HTTP请求会报超时异常。 762663363 [2023-07-21 06:04:25] [executor-64] ERROR - com.xxl.CucmTool - CucmTool|sendRisPortSoap error,url:https://xxxxxx/realtimeservice/services/RisPort org.apache.http.conn.HttpHostConnectException: Connect to xxx [/xxx] failed: 连接超时 第二种

    2024年02月12日
    浏览(61)
  • 基于apache的http文件服务配置

    背景: 公司的产品使用的第三方模组可以OTA,厂家提供的是window开启软件,这样就可以在本机做http下载服务器,然后使用端口映射的方式,公开到外网,这样就可以进行4G网络访问内网服务器了。但这个有个弊端,需要电脑一直开着才有文件下载服务,端口也不是固定的,临

    2024年01月22日
    浏览(43)
  • Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器

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

    2024年02月19日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包