Linux----------httpd的安装及使用

一、httpd的简介

http是Apache超文本传输协议服务器的主程序。它是一个独立的后台进程,能够处理请求的子进程和线程

http常用用的两个版本是httpd-2.2和httpd-2.4

    #CentOS6系列的默认httpd版本是httpd-2.2版本的rpm包

    #CentOS7系列的默认httpd版本是httpd-2.4版本的rpm包

二、常用httpd版本特性

  (1)httpd-2.2

  事先创建进程
       按需维持适当的进程
       模块化设计,核心比较小,各种功能通过模块添加(包括PHP),支持运行时配置,支持单独编译模块
  支持多种方式的虚拟主机配置,如基于ip的虚拟主机,基于端口的虚拟主机,基于域名的虚拟主机等
  支持https协议(通过mod_ssl模块实现)
  支持用户认证
  支持基于IP或域名的ACL访问控制机制
  支持每目录的访问控制(用户访问默认主页时不需要提供用户名和密码,但是用户访问某特定目录时需要提供用户名和密码)
  支持URL重写
  支持MPM(Multi Path Modules,多处理模块)。用于定义httpd的工作模型(单进程、单进程多线程、多进程、多进程单线程、多进程多线程)

(2)httpd-2.4

  httpd-2.4的新特性:
  MPM支持运行DSO机制(Dynamic Share Object,模块的动态装/卸载机制),以模块形式按需加载
  支持event MPM,eventMPM模块生产环境可用
  支持异步读写
  支持每个模块及每个目录分别使用各自的日志级别
  每个请求相关的专业配置,使用<If>来配置
  增强版的表达式分析器
  支持毫秒级的keepalive timeout
  基于FQDN的虚拟主机不再需要NameVirtualHost指令
  支持用户自定义变量
  支持新的指令(AllowOverrideList)
  降低对内存的消耗  

三、httpd的工作模型

httpd有三种工作模式:prefork,worker,event

  prefork:多进程模型,预先生成进程,一个请求用一个进程响应
         一个主进程负责生成n个子进程,子进程也称为工作进程
    每个子进程处理一个用户请求,即使没有用户请求,也会预先生成多个空闲进程,随时等待请求到达,最大不会超过1024个

   worker:基于线程工作,一个请求用一个线程响应(启动多个进程,每个进程生成多个线程)

   event:基于时间的驱动,一个进程处理多个请求

四、httpd的程序环境即配置文件和重要目录

(1)配置文件和重要目录

/var/log/httpd/access.lod               访问日志

/var/log/httpd/error_log       错误日志 (报错就观察此日志)

/var/www/html/*           站点文档目录

/usr/lib64/httpd/modules                模块存储路径

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

/etc/httpd/conf/*.conf         配置文件,被主配置文件包含

apachectl -t               检查配置文件是否有错误

(2)httpd自带的工具程序

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

ab              压力测试工具

apachectl       类似systemctl命令,控制程序启动关闭

rotatelogs  日志滚动工具

curl          可用于http认证的命令

五、httpd常用的协议状态码

status(状态码):
 1xx:100-101 信息提示
 2xx:200-206 成功
 3xx:300-305 重定向
 4xx:400-415 错误类信息,客户端错误
 5xx:500-505 错误类信息,服务器端错误   

200: 成功,请求数据通过响应报文的entity-body部分发送;OK 

301: 请求的URL指向的资源已经被删除;但在响应报文中通过首部Location指明了资源现在所处的新位置;Moved Permanently

302: 响应报文Location指明资源临时新位置 Moved Temporarily

304: 客户端发出了条件式请求,但服务器上的资源未曾发生改变,

则通过响应此响应状态码通知客户端;Not Modified
401: 需要输入账号和密码认证方能访问资源;Unauthorized
403: 请求被禁止;Forbidden
404: 服务器无法找到客户端请求的资源;Not Found
500: 服务器内部错误;Internal Server Error
 502: 代理服务器从后端服务器收到了一条伪响应,如无法连接到网   
关;Bad Gateway
503 – 服务不可用,临时服务器维护或过载,服务器无法处理请求
 504 – 网关超时

猜你喜欢

转载自www.cnblogs.com/wangchengshi/p/10727479.html
今日推荐