安装httpd

yum -y install httpd

Linux的httpd的基本操作 CentOS7_CentOS7

程序环境

       配置文件:

                /etc/httpd/conf/httpd.conf

                /etc/httpd/conf.d/*.conf

       模块相关的配置文件

                /etc/httpd/conf.modules.d/

       systemd unit file

                /usr/lib/systemd/system/httpd.service

       主程序文件:

                /usr/sbin/httpd

                httpd-2.4支持MPM的动态切换;

               日志文件:

                        /var/log/httpd

                                 access_log:访问日志

                                 error_log:错误日志

               站点文档:

                        /var/www/html 访问内容的目录

               模块文件路径:

                       /usr/lib64/httpd/modules

开启httpd服务

Linux的httpd的基本操作 CentOS7_简单操作_02

Linux的httpd的基本操作 CentOS7_简单操作_03


通过客户端打开默认主页面

Linux的httpd的基本操作 CentOS7_简单操作_04

这里要注意本机的SElinux和防火墙的设置,在测试阶段最好先全部关闭。


来自己新增一个测试页

Linux的httpd的基本操作 CentOS7_CentOS7_05

Linux的httpd的基本操作 CentOS7_CentOS7_06

Linux的httpd的基本操作 CentOS7_简单操作_07

为什么要在这个目录下创建页面文件呢?

Linux的httpd的基本操作 CentOS7_简单操作_08

httpd的配置文件中默认的页面文件路径是这个,可以修改。


httpd的常用配置

/etc/httpd/conf/httpd.conf是httpd应用的主配置文件

主配置文件中包括1、全局配置 2、核心主机配置 3、虚拟主机配置

注意:核心主机配置和虚拟主机配置是互斥的。核心主机配置是让一台服务器只为一个web域名服务,虚拟主机是让一台服务器可以为多个域名服务

1、修改监听IP和端口

Linux的httpd的基本操作 CentOS7_CentOS7_09

默认是监听80端口 我现在修改成8080

Linux的httpd的基本操作 CentOS7_CentOS7_10

重启httpd服务

Linux的httpd的基本操作 CentOS7_CentOS7_11

现在80端口下没有响应

Linux的httpd的基本操作 CentOS7_ httpd_12

8080有响应了

现在再看看系统的监听端口

Linux的httpd的基本操作 CentOS7_ httpd_13

2、长连接

长连接可以使一个httpd事务重复多次响应多次相同的请求。副作用是对并发量较大的服务器来说,长连接使得后来的请求不能得到及时的响应,因为为了保持长连接服务器需要消耗大量的资源

默认的长连接的功能是开启的

Linux的httpd的基本操作 CentOS7_简单操作_14

Linux的httpd的基本操作 CentOS7_简单操作_15

Linux的httpd的基本操作 CentOS7_ httpd_16

3、MPM

多进程处理机制

首先查看当前的处理机制 prefork

httpd -

Linux的httpd的基本操作 CentOS7_CentOS7_17

更换MPM机制

首先停止服务

Linux的httpd的基本操作 CentOS7_CentOS7_18

编辑httpd MPM的配置文件

Linux的httpd的基本操作 CentOS7_ httpd_19

这个是默认的参数 我修改一下

Linux的httpd的基本操作 CentOS7_ httpd_20

启动httpd服务

httpd -M

Linux的httpd的基本操作 CentOS7_简单操作_21


4、定义Main Server的文档页面路径

Linux的httpd的基本操作 CentOS7_CentOS7_22

创建/apps/httpd目录 并创建一个新的测试页面文件

Linux的httpd的基本操作 CentOS7_简单操作_23

5、日志设置

Linux的httpd的基本操作 CentOS7_ httpd_24

combined 日志的格式 比如是否包含客户IP,时间戳,浏览器类型

combined 格式的内容如何指定?LogFormat

Linux的httpd的基本操作 CentOS7_CentOS7_25

至于每个符号代表的意思,只能去查apache的官方文档。里面有个formate Strings连接专门讲符号意义。

%h:客户端IP地址

%IRemote User

%u:登录访问时的远端用户

%t:服务器收到请求的时间

%rFirst line of request,记录了请求中的通信方式,URL以及协议

%>s:响应状态码

%b:响应报文的大小(字节为单位)

%(Referer)i:请求报文中首部”referer”的值,即从哪个页面跳转至此页面

%(User-Agent)i:请求报文中”User-Agent”的值,即发出请求的应用程序。

访问日志文件位于

Linux的httpd的基本操作 CentOS7_CentOS7_26

Linux的httpd的基本操作 CentOS7_ httpd_27

错误日志也位于此目录

Linux的httpd的基本操作 CentOS7_CentOS7_28

Linux的httpd的基本操作 CentOS7_CentOS7_29

Linux的httpd的基本操作 CentOS7_简单操作_30

现在看来日志存放有两处。

6、虚拟主机

通过不同的URL获得不同的访问页面

首先需要注释掉主服务器上的DocumentRoot

Linux的httpd的基本操作 CentOS7_简单操作_31

再创建虚拟主机的配置文件

Linux的httpd的基本操作 CentOS7_CentOS7_32

标红的是为了指定默认页面文件

修改客户端的主机解析或者DNS

Linux的httpd的基本操作 CentOS7_ httpd_33

通过应用测试



Linux的httpd的基本操作 CentOS7_ httpd_34

7、运行httpd的用户名和组名

Linux的httpd的基本操作 CentOS7_ httpd_35

8、httpd自带的页面统计助手

httpd.conf 配置文件默认是没有这个功能配置的

Linux的httpd的基本操作 CentOS7_简单操作_36

Linux的httpd的基本操作 CentOS7_ httpd_37


http协议

http协议是无状态协议。服务器无法持续追踪访问者来源,其现象是如果需要认证,每次刷新页面都需要认证。

为了优化这种访问方式,引入了cookie机制。终端设备会根据不同的站点生成不同的cookie,让服务器进行终端识别。

cookie:分为瘦cookie和胖cookie

session是服务器为每个客户端分配的一个微小数据结构,这个数据结构关联了cookie

 

http事务

一次请求和一次响应叫做一次事务

 

1、报文语法格式:

     request报文

      <method><request-URL><version>

      <headers> 首部

      <entity-body> 真实数据载体

     response报文

      <version><status><reason-phrase>

      <headers>

      <entity-body>

 

2method

请求资源的方法:1GET 2HEAD(仅返回响应报文首部) 3POST(向服务器发送要处理的数据) 4PUT 向服务器发送数据(上传) 5DELETE 请求删除服务器上的文件 6TRACE 追踪请求达到服务器的过程。7OPTIONS 请求服务器返回对指定资源支持使用的请求方式。

 

3version

      HTTP/<major>.<minor>

4status

      三位数字,如200301302404502标记请求处理过程中发生的情况。

      1xx100-101,信息提示

      2xx200-206,成功

      3xx300-305,重定向

      4xx400-415,错误类信息,客户端错误

      5xx500-505,错误类信息,服务器端错误

常用的状态码:

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

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

      302:与301相似,但在响应报文中通过Location指明资源现在所处的临时位置。

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

      401:需要输入账号和密码认证方才能访问资源

      404:服务器无法找到相应资源

      500:服务器内部错误。

      502:代理服务器从上游服务器收到了一条伪响应。

5reason-phrase

     状态码的简要描述

 

6headers

header并不是关键字,而是首部代名词。

首部分类:1、通用首部 2、请求首部 3、响应首部 4、实体首部 5、扩展首部