Linux服务器构建与运维管理 算4章:网站康务春 Web服务器 server上使用 Apache Apache日志分析 A 1web服务器 介 一种驻留于因特网上的计算机程序。其作用有两种 we服务器端对客户端提供的内容服务主要包括两种类型 we服务器使用HTTP(超文本传输协议)进行相关信息交流,也常将 Web服务器称为HTTP服务器
1 Linux服务器构建与运维管理 第4章:网站服务器 1 阮晓龙 13938213680 / rxl@hactcm.edu.cn http://linux.xg.hactcm.edu.cn http://www.51xueweb.cn 河南中医药大学信息管理与信息系统教研室 信息技术学院网络与信息系统科研工作室 2019.1 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 提纲 Web服务器 Apache服务器 在Ubuntu Server上使用Apache 在CentOS上使用Apache 使用Apache发布PHP应用程序 Apache日志分析 ApacheTop Webalizer Apache安全 2 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.Web服务器 Web服务器是一种驻留于因特网上的计算机程序,其作用有两种: 一是放置网站文件,让全世界浏览; 二是放置数据文件,让全世界下载。 Web服务器端对客户端提供的内容服务主要包括两种类型: 一是静态文档; 二是动态文档。 Web服务器使用HTTP(超文本传输协议)进行相关信息交流,也常将 Web服务器称为HTTP服务器。 3 1.1Web服务器简介
1Web服务器 理的果用图务源分南支有差同,进相 着技木的发展,适应为各种不同功能、不同环境的Web服务器不断 重点讲解Liux平台中应用最广泛的Web服务器 Apache 1Web服务器 12工原 We服务器的处理流程一般分为四步:连接过程、请求过程、应答过 口根据输入的URL地址,W喜户(如浏览)连接到粗应的We务器上 We喜户运用ocke向其酸务器提出各种请求 应答过程 进实施任 喜户饶上展示上述所请求的结果 a当应签过程完成以后,Web务器和We喜户之间断开连接, 1web服务器 务器的处理流程一般分为四步:连接过程、请求过程、应答过 及关闭连接
2 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.Web服务器 由于不同的Web服务器对HTTP请求的处理方式并不完全相同,进行相 应的处理时采用的资源分配策略和调度的方式也各有差异。 随着技术的发展,适应为各种不同功能、不同环境的Web服务器不断 出现,目前常用的Web服务器是Apache、IIS、Tomcat、Nginx等。 重点讲解Linux平台中应用最广泛的Web服务器Apache。 4 1.1Web服务器简介 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.Web服务器 Web服务器的处理流程一般分为四步:连接过程、请求过程、应答过 程以及关闭连接。 连接过程: 根据输入的URL地址,Web客户端(如浏览器)连接到相应的Web服务器上。 请求过程: Web客户端运用socket向其服务器提出各种请求。 应答过程: 运用HTTP协议把在请求过程中所提出来的请求传输到Web服务器,进而实施任 务处理,然后运用HTTP协议把任务处理的结果传输到Web客户端,同时在Web 客户端上展示上述所请求的结果。 关闭连接: 当应答过程完成以后,Web服务器和Web客户端之间断开连接。 5 1.2Web服务器工作原理 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 1.Web服务器 Web服务器的处理流程一般分为四步:连接过程、请求过程、应答过 程以及关闭连接。 6 1.2Web服务器工作原理
2 Apache服务器 Apache得到了开源社区的支持,并在开源社区的支持下不断开发出新功
3 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache是最常用的Web服务器软件之一,可以在包括UNIX、Linux以 及Windows在内的主流计算机操作系统中运行。 Apache最初是由Illinois大学的国家高级计算机程序中心开发,是一种开源 的HTTP服务器软件。 Apache得到了开源社区的支持,并在开源社区的支持下不断开发出新功 能、新特性。 7 2.1Apache简介 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 8 2.1Apache简介 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 9 2.1Apache简介
2 Apache服务器 体如 简单责强有力的基于文件的查 谢包含指令(SS, 的虚拟主机。 提供用户会话过程的踪。 模块,实现灵活扩A /APA 二m+
4 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache拥有众多特性来保证其 高效稳定运行,具体如下。 支持最新的HTTP通信协议。 拥有简单而强有力的基于文件的配 置过程。 支持通用网关接口。 支持基于IP和基于域名的虚拟主机。 支持多种方式的HTTP认证。 集成Perl处理模块。 集成代理服务器模块。 支持实时监视服务器状态和定制服 务器日志。 支持服务器端包含指令(SSI)。 支持安全Socket层(SSL)。 提供用户会话过程的跟踪。 支持PHP。 支持FastCGI。 通过第三方模块支持JavaServlets。 支持第三方软件开发商提供的功能 模块,实现灵活扩展。 10 2.1Apache简介 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 11 2.1Apache简介 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 12 2.1Apache简介
2 Apache服务器 22 Apach工作聊 Apache处理模式: perfor 一个单独的控制进程(父进程)负责产生子进程,子进程用于监听请求井 MaxRequestworkers四个指令用于调节父进程如何产生子进程。 22pMh作通 产 使用了多进程和多线程尼合的模式 在高并发情况下,比e有更多可用进程,表现会更优秀一些 线程,如果某个线程出现异常,受影响的只是 Apache的一部分酸务,而不是整 个务 2 Apache服务器 22A Apache,处理模式: event event和 worker模式很像,最大的区别在于它解决了keep-ae场景下,线 线程因为被 keep-alie空挂 evet梗式中,会有一个专门的线程来管理这些 keep-alive类型的线程 有撸发请求类
5 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache处理模式:perfork 一个单独的控制进程(父进程)负责产生子进程,子进程用于监听请求并 作出应答。Apache试图保持一些备用的(spare)或是空闲子进程用于迎 接即将到来的请求,客户端不需要在得到服务前等候子进程的产生。 perfork下有StartServers、MinSpareServers、MaxSpareServers、 MaxRequestWorkers四个指令用于调节父进程如何产生子进程。 通常情况下Apache具有很强的自我调节能力,当需要处理的并发请求较高时, 服务器可能就需要增加MaxRequestWorkers的值。 StartServers:初始的工作进程数。 MinSpareServers:空闲子进程的最小数量。 MaxSpareServers:空闲子进程的最大数量。 MaxRequestWorkers:最大空闲线程数。 13 2.2Apache工作原理 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache处理模式:worker worker模式相对于perfork来说,使用了多进程和多线程混合的模式。 Worker模式预先分了几个子进程(数量比较少),然后每个子进程创建一些线 程,同时包括一个监听线程。每个请求过来,会被分配到一个线程来服务。因 为线程通常会共享父进程的内存空间,所以内存的占用会减少一些,线程处理 比起进程会更轻量。 worker模式在高并发情况下,比prefork有更多可用进程,表现会更优秀一些。 worker不完全使用多线程,引入多进程的原因是需要考虑稳定性,如果一个线 程出错,会导致父进程连同其它正常的子线程都出错,使用多个进程再加多个 线程,如果某个线程出现异常,受影响的只是Apache的一部分服务,而不是整 个服务。 14 2.2Apache工作原理 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache处理模式:event event和worker模式很像,最大的区别在于它解决了keep-alive场景下,线 程长期被占用而造成的资源浪费问题,如某个线程因为被keep-alive空挂 着等待,长时间没有请求,甚至等到超期。 event模式中,会有一个专门的线程来管理这些keep-alive类型的线程,当 有真实请求时,将请求传递给服务线程,执行完毕后,又允许它释放,这 样增强了高并发场景下的请求处理能力。 15 2.2Apache工作原理
2 Apache服务器 认安装一些模块。如果需要实现某种特定的功能就需 22Apadha Module mod evasive模块在EPEL软件库 EPEL是yum的一个软件源,里面包含了许多基本源里没有的软件 m - install epel-release 口∥查看um安 2. Apac
6 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 模块是在内核空间运行的程序,实际上是一种目标对象文件,没有链 接,不能独立运行,但是其代码可以在运行时链接到系统中作为内核 的一部分运行或从内核中取下,可以动态的扩展内核的功能。 Apache安装时会默认安装一些模块,如果需要实现某种特定的功能就需 要增加Apache模块。 以mod_evasive为例来讲Apache模块的安装。 mod_evasive是Apache服务器的防DDOS模块。 16 2.2Apache Module 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 mod_evasive模块在EPEL软件库。 EPEL是yum的一个软件源,里面包含了许多基本源里没有的软件。 安装EPEL源的方法: # yum -y install epel-release //使用yum安装EPEL软件库 # yum repolist //查看yum安装源 17 2.2Apache Module 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 18 2.2Apache Module
②塭名, 二 2 Apach∈ 目翻多 加
7 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 19 2.2Apache Module 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 20 2.2Apache Module 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 21 2.2Apache Module
2 Apache服务器 中有所区别。 的后缀名为Jod,且每一个模块对应一个con文 Centos中块存放在/usr/b54/htpd/ modules目录中,Cens中模块的 2 Apache=,温m它试 花
8 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache模块安装后存放位置和模块的引用在Ubuntu Server和CentOS 中有所区别。 在Ubuntu Server中已安装模块存放在/etc/apache2/mods-available目录 中,已启用模块存放在/etc/apache2/mods-enabled目录中,Ubuntu Server中模块的后缀名为.load,且每一个模块对应一个.conf文件。 CentOS中模块存放在/usr/lib64/httpd/modules目录中,CentOS中模块的 后缀名为.so。 22 2.2Apache Module 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 23 2.2Apache Module 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 24 2.2Apache Module Apache配置文件apache.conf的配置信息
2 Apache服务器 2.2Apada Module Apache模块只与 Apache的版本有关,和操作系统无关。 Apache246中常用的模块,如表4-1示 手游的心G料 2.ApacheH 22Apadha Module 2.Apache
9 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache模块只与Apache的版本有关,和操作系统无关。 Apache 2.4.6中常用的模块,如表4-1所示。 25 2.2Apache Module 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 26 2.2Apache Module 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 27 2.2Apache Module
3.在 Ubuntu Server上使用 Apache 3单取动padh 在 Ubuntu Server上安装 Apache的方式有两种 通过Apache官网下载安装包(httpr//httpd.apacheorg/downoadcgi 3在Ubu 3在Ubu 10
10 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 3.在Ubuntu Server上使用Apache 在Ubuntu Server上安装Apache的方式有两种 使用APT工具在线获取 对应版本为2.4.34 通过Apache官网下载安装包(http://httpd.apache.org/download.cgi) 目前Apache的最新版本为2.4.37 28 3.1安装与启动Apache 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 3.在Ubuntu Server上使用Apache 29 3.1安装与启动Apache 河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 3.在Ubuntu Server上使用Apache 30 3.1安装与启动Apache