摘要:摘要: 现在常用的http服务器主要常用的是nginx以及apache,今天简单了解下web服务器的功能以及apache的常用配置。
1.web服务器的主要操作
1.建立连接——接受或拒接客户端连接请求。
2.接收请求——通过网络读取http请求报文。
3.处理请求——解析请求报文并做出相应的动作。
4.访问资源——访问请求报文中的相关资源。
5.构建响应——使用正确的首部生成http相应报文。
6.发送响应——向客户端发送生成的响应报文。
7.记录日志——当已经完成的http事务记录进日志文件。
2.Web服务器处理并发连接请求的架构方式
1.单线程web服务器(Single-threaded web servers)
在这种架构方式中,web服务器一次处理一个请求,结束后并处理下一个请求。在某个请求处理过程中,其他所有的请求都被忽略。因此在并发较多的场景中必然出现严重的性能问题。
2.多进程/多线程web服务器
在这种架构方式中,web服务器生成的多个进程和线程并行处理多个用户请求,进程或线程可以按需事先生成。有的web服务器应用程序为每个用户请求生成一个单独的进程或线程来进行响应。不过一旦请求数量达到成千上万时,多个同时运行的进程或线程将会消耗大量的系统资源。
3.I/O多路复用web服务器
为了能够支持更多的并发用户请求,越来越多的web服务器正在采用多种复用的架构——同步监控所有的连接请求的活动状态,当一个连接的状态发生改变时(如数据准备完毕或发生某种错误),将为其执行一系列特定操作;在操作完成后,此连接将重新变回暂时的稳定态并返回至打开的连接列表中,直到下一个状态改变。由于其多路复用的特性,进程或线程不会被空闲的连接所占用,因而可以提供高效的工作模式。
4.多路复用多线程web服务器
将多进程和多路复用的功能结合起来形成的web服务器架构,其避免了让一个进程服务于过多的用户请求,并能充分利用多CPU主机所提供的计算能力。
3.httpd
特点:
1.事先创建进程。
2.按需维持适当的进程。
3.模块化设计,核心比较小,各种功能模块都添加,支持运行配置,支持单独编译模块。
4.支持多种方式的虚拟主机配置(虚拟主机:基于IP的虚拟主机,基于端口的虚拟主机,基于域名的虚拟主机)
5.支持https协议
6.支持用户认证
7.支持基于IP和主机名的ACL
8.支持每目录的访问控制
9.支持url重写
构成:
/usr/sbin/httpd (MPM)
httpd: root root (master process)
httpd: daemon daemon (worker process)
/etc/rc.d/init.d/httpd
port:(80/tcp) (ssl:443/tcp)
默认安装路径 /etc/httpd:工作根目录,相当于程序安装目录
/etc/httpd/conf:配置文件目录 httpd.conf主配置文件 /etc/httpd/conf.d/*.conf
/etc/httpd/modules:模块目录
MPM: Multi Path Modules
mpm_winnt
prefork (一个请求用一个进程响应)
worker (一个请求用一个线程响应, (启动多个进程,每个进程生成多个线程))
event (一个进程处理多个请求)
4.httpd.conf配置文件的详细讲解
在httpd2.4版本中,其主要的配置文件如下图所示,包括httpd.conf以及extra中的各种配置文件
ServerRoot: 目录树的根结点。服务器配置、出错信息、日志文件都保存在根目录下。
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28