00.课程介绍部分
1.ansible剧本控制配置
2.用户访问网站页面
3.HTTP数据报文发送的信息
HTTP请求数据信息
HTTP响应数据信息
4.网站页面资源信息
什么是静态网页资源
什么是动态网页资源
5.网站访问量度量方法
IP PV UV
6.常用网站web服务
nginx php tomcat python
网站页面代码:
html java python(框架)
01.课程知识回顾
1.部署ansible软件程序
a 部署SSH基于秘钥连接
b 安装部署ansible软件
2.配置ansible主机清单
5种配置方式 直接写IP 主机组 配置内置变量 嵌入式 匹配符号方式
3.ansible利用模块管理主机
4.ansible剧本编写方法
剧本组成部分:角色 hosts 任务 tasks 触发器 handlers
剧本编写规范:缩进 列表 字典
剧本编写扩展:
a 变量设置方法 3种
b 剧本判断功能 when setup 判断方式 == != or and
c 剧本循环功能 with_items/loop
d 剧本调试功能
忽略错误功能 标签功能 提示剧本执行效率
e 剧本信息注册
f 剧本触发功能 notify:多个调用触发器
5.剧本整合方法 import_playbook:
02.ansible剧本角色功能配置说明
角色功能有什么用:
1.让剧本配置更加规范
2.可以让剧本信息简化
3.可以在汇总剧本中看到主机信息
如何配置角色功能:
第一步:配置好主机清单
vim /etc/ansible/roles/hosts
第二步:创建角色目录
mkdir /etc/ansible/roles/rsync
mkdir /etc/ansible/roles/rsync/{tasks,files,vars,handlers,templates}
tasks: 目录中定义任务的剧本信息
files: 保存要分发的文件信息
vars: 目录保存定义变量剧本文件
handlers: 目录中保存触发器剧本信息
templates: 目录中保存模板文件(jinja2)
ansible-galaxy init nginx ---创建角色目录路径信息
第三步:配置角色目录中剧本信息
1.编写tasks/main.yml
编写方式一:直接编写任务信息
- name: 安装软件
yum: name=rsync state=installed
- name: 修改配置文件
copy: src={{ i }}/rsyncd.conf dest={{ i }}/rsyncd.conf
notify: rsync_restart
- name: 创建虚拟用户
user: name=rsync create_home=no shell=/sbin/nologin
- name: 创建备份目录
file: path=/backup state=directory owner=rsync group=rsync
- name: 创建密码文件
copy: content='rsync_backup:123456' dest={{ i }}/rsync.password mode=600
- name: 启动服务
service: name=rsyncd state=restarted
- name: 检查服务是否开启
shell: ps -ef|grep rsync
register: test
- name: 显示服务状态
debug: msg={{ test.stdout_lines }}
- name: 永久启动服务
service: name=rsyncd enabled=yes
....省略....
编写方式二:将一个完整剧本拆分成多个剧本
进行多个任务剧本整合:
vim main.yml
- include_tasks: ....(剧本名称)
- include_tasks: ....(剧本名称)
2.保存files/文件信息
将要分发的配置文件信息放入目录中
3.配置vars/main.yml
conf_dir: /etc/
变量都放入
4.配置handlers/main.yml
所有触发器的任务放入
#cat handlers/main.yml
- name: rsync_restart
service: name=rsyncd state=restarted
第四步:调取角色信息
[root@m01 ansible]# cat roles/site.yml
- hosts: rsync_server,rsync_client
roles:
- rsync
第五步:执行角色汇总剧本
ansible-playbook /etc/ansible/roles/site.yml -i /etc/ansible/roles/hosts
补充: templates目录作用
放置存储模板文件
第一步:修改配置文件 变成 模板文件
vim rsyncd.conf
port: {{ port }}
第二步:需要将配置文件放置到模板目录中
mv rsync/files/rsyncd.conf rsync/templates
第三步:修改复制数据的模块
copy复制文件数据 == '' 所见即所得
templates复制文件数据 == "" 能识别特殊符号例 {} 调取变量信息
04.用户访问网站原理过程
1.进行域名解析过程 DNS解析原理(本地查询 递归查询 迭代查询(A记录))
2.和网站服务建立连接 三次握手过程
3.发送HTTP请求信息 HTTP请求报文
4.发送HTTP响应信息 HTTP响应报文
5.和网站服务断开连接 四次挥手
HTTP协议是什么? 超文本传输协议
HTTP请求报文结构信息:
请求行:
> GET / HTTP/1.1
1.请求方法 GET(获得 客户端--从--服务端获得页面数据信息) post(提交 客户端--发送数据--服务端)
2.请求内容 请求网站资源信息(页面文件 图片 视频 音频) 没有具体指定需求会默认请求首页文件(index.html)
3.请求使用的协议 HTTP/1.0 HTTP/1.1 HTTP/2.0
TCP长连接: HTTP/1.1 一次链接,可以发送多个请求
TCP短连接: HTTP/1.0 一次链接,可以发送一次请求
请求头:
Host: www.oldboyedu.com 指定显示什么网站页面 www bbs blog 主机记录信息
User-Agent: curl/7.29.0 根据用户访问客户端信息不同,可以显示不同的页面
空行:
请求主体:GET方法没有请求主体 post方法具有请求主体
HTTP响应报文结构信息:
起始行:
< HTTP/1.1 302 Found
1.协议信息
2.响应状态码信息
响应头:
空行:
响应主体:
05.课程知识总结
1.ansible剧本角色功能配置
2.用户访问网站原理过程
3.HTTP协议报文结构
请求报文:请求行(请求方法 请求内容 协议-TCP长链接/短链接) 请求头(Hosts UA) 空行 请求主体 post才有主体
响应报文:起始行(状态码信息 304 401)
作业:
1.网站301状态码和302状态码之间区别?