Httpd基础

Httpd基础

一、Centos7系统下实现httpd-2.4的安装,并分别实现prefork、worker、event等几种工作方式


1.编译安装httpd-2.4.25.tar.bz2,安装前环境准备,需安装包组:

yum groupinstall -y "Development Tools" "Server Platform Development";    
tar -xjf httpd-2.4.25.tar.bz2;    
mkdir /usr/local/httpd;    
cd httpd-2.4.25;
./configure --prefix=/usr/local/httpd-with-mpm=prefork;  #设置为prefork模式    
./configure --prefix=/usr/local/httpd-with-mpm=worker;   #设置为worker模式    
./configure --prefix=/usr/local/httpd-with-mpm=event;    #设置为event模式

在编译的过程中可以使用选线–with-mpm来指定httpd的工作模式,httpd主要有三种工作模式:prefork、worker和event。其中,prefork为默认模式,不指定模式,httpd将工作子在prefork模式下。
1. prefork模式:多进程模型,每个进程响应一个请求,主进程负责生成子进程及回收子进程,负责创建套接字,负责接收请求,并将其派发给子进程进行处理,每个子进程处理一个请求,会预先生成几个空闲进程,随时等待用于响应用户请求,可设置最大空闲和最小空闲;
2.worker模式:多进程多线程模型,每线程处理一个用户请求;
3.event模式:事件驱动模型,多进程模型,每个进程响应多个请求;主进程负责生成子进程,负责创建套接字,负责接收请求,并将其派发给某子进程进行处理;子进程基于事件驱动机制直接响应多个请求。

二、简述request报文请求方法和状态响应码


1.request请求报文的语法格式为:
《method》《url》 《version》
HEADERS:(name:value)
《request body》

2.method的使用方法有:

GET:从服务器获取资源;    
HEAD:只从服务器获取文档的响应首部;    
POST:向服务器发送要处理的数据;    
PUT:将请求的主题部分存储在服务器上;    
DELETE:请求删除服务器上指定的文档;    
TRACE:追踪请求到达服务器中间经过的代理服务器;    
OPTIONS:请求服务器返回对指定资源支持使用的请求方法;

3.status状态码的分类及表征:

1xx:信息提示;    
2xx:请求成功;    
3xx:请求重定向;    
4xx:错误类信息,客户端的错误;    
5xx:错误类信息,服务器端错误;

常用的状态码有:
200:成功,请求的数据通过响应报文发送OK;
301:请求的url指向的资源已经不存在,在响应报文中通过首部location指明资源所在的新位置;
302:指明资源所处临时新位置;
401:需要输入账号和密码认证才能方位资源;
403:请求被禁止;forbidden;
404:服务器无法找到客户端请求的资源;
500:服务器内部错误;
502:代理服务器从后端服务器收到了一条伪响应。

三、详细描述httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例


1.httpd虚拟主机配置

httpd虚拟主机配置可以基于IP、端口、FQDN三种方式来进行配置工作:
基于IP的配置:
新建配置文件:/etc/httpd/conf.d/vhost.conf

Httpd基础 基于IP和端口的配置:

Httpd基础 基于FQDN的配置:

Httpd基础

2.站点访问控制:

基于站点访问控制的配置:

Httpd基础

3.基于用户控制的配置:

htpasswd -c /etc/httpd/.htpasswd zhangge;  #建立加密用户    

建立新的配置文件:

Httpd基础

4.持久连接

新建持久连接的配置:

Httpd基础

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97456

(0)
gw章gw章
上一篇 2018-05-04 11:58
下一篇 2018-05-04 17:45

相关推荐

  • 如何在Linux系统上获取命令的帮助信息

    使用type命令查看命令是外部命令或者内部命令 内部命令获取帮助         help+command  外部命令         command –help 简要的帮助         man command  获取帮助信息     info command 获取在线文档

    Linux笔记 2018-05-11
  • Linux中用户、组和权限

    用户user Linux用户:Username/UID 管理员:root,0 普通用户: 系统用户:1-499 交互式登录:登录用户500+,1000+9(CentOs7) 组group  Linux组:Groupname/GID 管理员组:root,0(私有组) 普通组:系统组:1-499,1-999;普通组:500+,1000+ Linux组的类别:1.…

    Linux笔记 2018-04-05
  • 二进制编译MariaDB

    安装环境 iptables selinux mariadb-server 卸载 创建账号 useradd -r -d /data/mysqldb -s /sbin/nologin mysql 解压缩 tar xvf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/ 创建软链接 cd /usr/local l…

    Linux笔记 2018-06-10
  • 简述systemd的新特性及unit常见类型分析

    简述systemd的新特性及unit常见类型分析

    Linux笔记 2018-06-18
  • 第一周作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定。

    Linux笔记 2018-05-13
  • 进程管理工具及计划任务

    进程管理工具 kill命令: 向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头 (可省略),不区分大小写 显示当前系统可用信号: kill –l,trap -l 常用信号:man 7 signal 1) SIGHUP: 无须关闭进程而让其重读配置文件 2) SIGINT: 中止正在运行的进程;相当于Ctrl+c 3) SIGQ…

    Linux笔记 2018-05-06

评论列表(1条)

  • Leo
    Leo 2018-05-16 12:15

    配置完成, 也要验证一下配置的是否OK, 例如配置完prefork、event可以做一个ab压测看一下性能区别