stbyruby 发表于 2019-2-16 08:11:36

Linux的httpd的基本操作 CentOS7

  安装httpd
  yum -y install httpd
http://s1.运维网.com/images/20180815/1534341425215695.png
  程序环境

       配置文件:
                /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服务
  http://s1.运维网.com/images/20180815/1534341532697844.png

http://s1.运维网.com/images/20180815/1534341519222652.png
  通过客户端打开默认主页面
http://s1.运维网.com/images/20180815/1534342029369098.png
  这里要注意本机的SElinux和防火墙的设置,在测试阶段最好先全部关闭。
  来自己新增一个测试页
  http://s1.运维网.com/images/20180815/1534342536881674.png

http://s1.运维网.com/images/20180815/1534342513959326.png
http://s1.运维网.com/images/20180815/1534342552302124.png
  为什么要在这个目录下创建页面文件呢?
http://s1.运维网.com/images/20180815/1534342632178762.png

  httpd的配置文件中默认的页面文件路径是这个,可以修改。
  httpd的常用配置
  /etc/httpd/conf/httpd.conf是httpd应用的主配置文件
  主配置文件中包括1、全局配置 2、核心主机配置 3、虚拟主机配置
  注意:核心主机配置和虚拟主机配置是互斥的。核心主机配置是让一台服务器只为一个web域名服务,虚拟主机是让一台服务器可以为多个域名服务
  1、修改监听IP和端口
http://s1.运维网.com/images/20180815/1534342933576631.png
  默认是监听80端口 我现在修改成8080
http://s1.运维网.com/images/20180815/1534343057600223.png
  重启httpd服务
http://s1.运维网.com/images/20180815/1534343120736575.png
  现在80端口下没有响应
http://s1.运维网.com/images/20180815/1534343157849380.png
  8080有响应了
  现在再看看系统的监听端口
http://s1.运维网.com/images/20180815/1534343216845580.png
  2、长连接
  长连接可以使一个httpd事务重复多次响应多次相同的请求。副作用是对并发量较大的服务器来说,长连接使得后来的请求不能得到及时的响应,因为为了保持长连接服务器需要消耗大量的资源
  默认的长连接的功能是开启的
http://s1.运维网.com/images/20180815/1534343780259660.png
http://s1.运维网.com/images/20180815/1534343983477606.png

http://s1.运维网.com/images/20180815/1534343938918386.png

  3、MPM
  多进程处理机制
  首先查看当前的处理机制 prefork
  httpd -

http://s1.运维网.com/images/20180815/1534345113597714.png
  更换MPM机制
  首先停止服务
http://s1.运维网.com/images/20180815/1534344511945921.png
  编辑httpd MPM的配置文件
http://s1.运维网.com/images/20180815/1534344736511693.png
  这个是默认的参数 我修改一下
http://s1.运维网.com/images/20180815/1534345031402656.png
  启动httpd服务
  httpd -M

http://s1.运维网.com/images/20180815/1534344990154621.png

  4、定义Main Server的文档页面路径
http://s1.运维网.com/images/20180815/1534345923917215.png
  创建/apps/httpd目录 并创建一个新的测试页面文件

http://s1.运维网.com/images/20180815/1534346076234924.png
  5、日志设置
http://s1.运维网.com/images/20180815/1534346191640240.png
combined 日志的格式 比如是否包含客户IP,时间戳,浏览器类型
combined 格式的内容如何指定?LogFormat
http://s1.运维网.com/images/20180815/1534346228120269.png
至于每个符号代表的意思,只能去查apache的官方文档。里面有个formate Strings连接专门讲符号意义。
%h:客户端IP地址
%I:Remote User
%u:登录访问时的远端用户
%t:服务器收到请求的时间
%r:First line of request,记录了请求中的通信方式,URL以及协议
%>s:响应状态码
%b:响应报文的大小(字节为单位)
%(Referer)i:请求报文中首部”referer”的值,即从哪个页面跳转至此页面
%(User-Agent)i:请求报文中”User-Agent”的值,即发出请求的应用程序。
  访问日志文件位于
http://s1.运维网.com/images/20180815/1534346431693522.png
http://s1.运维网.com/images/20180815/1534346456877615.png
  错误日志也位于此目录
http://s1.运维网.com/images/20180815/1534346487866565.png
http://s1.运维网.com/images/20180815/1534346664906964.png
http://s1.运维网.com/images/20180815/1534346892865802.png
  现在看来日志存放有两处。
  6、虚拟主机
  通过不同的URL获得不同的访问页面
  首先需要注释掉主服务器上的DocumentRoot
http://s1.运维网.com/images/20180815/1534347145442397.png
  再创建虚拟主机的配置文件
http://s1.运维网.com/images/20180815/1534347851209989.png
  标红的是为了指定默认页面文件

  修改客户端的主机解析或者DNS
http://s1.运维网.com/images/20180815/1534347813189162.png

  通过应用测试

http://s1.运维网.com/images/20180815/1534347783813376.png
  7、运行httpd的用户名和组名
http://s1.运维网.com/images/20180815/1534348395828483.png
  8、httpd自带的页面统计助手
  httpd.conf 配置文件默认是没有这个功能配置的
http://s1.运维网.com/images/20180816/1534349109550554.png

http://s1.运维网.com/images/20180816/1534349071275512.png
  http协议
http协议是无状态协议。服务器无法持续追踪访问者来源,其现象是如果需要认证,每次刷新页面都需要认证。
为了优化这种访问方式,引入了cookie机制。终端设备会根据不同的站点生成不同的cookie,让服务器进行终端识别。
cookie:分为瘦cookie和胖cookie
session是服务器为每个客户端分配的一个微小数据结构,这个数据结构关联了cookie。
  http事务
  一次请求和一次响应叫做一次事务
  1、报文语法格式:
  request报文
  
   首部
   真实数据载体
  response报文
  
  
  
  2、method
  请求资源的方法:1、GET 2、HEAD(仅返回响应报文首部) 3、POST(向服务器发送要处理的数据) 4、PUT 向服务器发送数据(上传) 5、DELETE 请求删除服务器上的文件 6、TRACE 追踪请求达到服务器的过程。7、OPTIONS 请求服务器返回对指定资源支持使用的请求方式。
  3、version:
  HTTP/.
  4、status:
  三位数字,如200、301、302、404、502标记请求处理过程中发生的情况。
  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:与301相似,但在响应报文中通过Location指明资源现在所处的临时位置。
  304:客户端发出了条件式请求。但服务器上的资源未曾发生改变
  401:需要输入账号和密码认证方才能访问资源
  404:服务器无法找到相应资源
  500:服务器内部错误。
  502:代理服务器从上游服务器收到了一条伪响应。
  5、reason-phrase:
  状态码的简要描述
  6、headers
  header并不是关键字,而是首部代名词。
  首部分类:1、通用首部 2、请求首部 3、响应首部 4、实体首部 5、扩展首部



页: [1]
查看完整版本: Linux的httpd的基本操作 CentOS7