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: 目录树的根结点。服务器配置、出错信息、日志文件都保存在根目录下。