Linux 学习 14

青春须早为,岂能长少年。这篇文章主要讲述Linux 学习 14相关的知识,希望能为你提供帮助。
1、Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.html


      配置文件:
       

[root@centos8 ansible]# cat install_httpd.yml
---
- hosts: all
remote_user: root


tasks:
- name: create group
group: name=apache system=yes gid=80

- name: create user
user: name=apache system=yes shell=/sbin/nologin uid=80

- name: install httpd
yum: name=httpd state=present

- name: copy file18
copy: src=https://www.songbingjia.com/android/index18.html dest=/var/www/html/
when: ansible_default_ipv4.address == "192.168.30.18"使用when 判断IP地址,拷贝对应的index文件

- name: copy file28
copy: src=https://www.songbingjia.com/android/index28.html dest=/var/www/html/
when: ansible_default_ipv4.address == "192.168.30.28"

- name: start service
service: name=httpd state=started enabled=yes

执行:ansible-playbook install_httpd.yml
Linux 学习 14

文章图片



2、简述PV,UV,QPS的含义及计算方式
【Linux 学习 14】PV:page view,页面浏览量或点击量,用户每次刷新页面就算一次
UV:unique visitor,访问网站的电脑做为一个访客,通过cookies实现计算,即就算客户端更改IP,但cookies不清除就不算一次计数
QPS:每秒请求数,指打开一个资源就是一个请求数,里面包含html,css,java等
PV,QPS,并发连接数计算方式:
        QPS=PV * 页面衍生连接次数/统计时间(86400)  
页面衍生连接次数是指一个PV的请求数量
        并发连接数=QPS*http平均响应时间 (访问资源的时间)




3、一次完整的HTTP请求过程
客户端发起连接请求:通过三次握手发起连接
服务器接收请求:接收客户端对某个资源的请求,并根据响应模型分配资源
服务器处理请求:对请求报文做解析,根据请求方法(GET,POST)来处理资源
访问资源:服务器获取报文中的web资源,静态或动态
构建响应报文:识别资源后,返回响应报文,包含状态码,响应首部,可能还包含了重定向,MIME类型等
发送响应报文:将构建好的内容发回客户端
日志记录:请求结束后,服务器会在日志文件中记录执行的内容


4、建立httpd服务器,要求提供两个基于名称的虚拟主机:
(1)www.X.com,页面文件目录为/web/vhosts/x; 错误日志为/var/log/httpd/x.err,访问日志为/var/log/httpd/x.access
(2)www.Y.com,页面文件目录为/web/vhosts/y; 错误日志为 /var/log/httpd/www2.err,访问日志为/var/log/httpd/y.access
(3)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名


安装httpd:
yum -y install httpd
vim /etc/httpd/conf/httpd.conf
将ServerName 前面的# 去掉,否则启动服务时会有警告信息
启动服务:systemctl enable --now httpd


创建文件夹:
mkdir -p /web/vhosts/{x,y}
echo www.x.com > /web/vhosts/x/index.html
echo www.y.com > /web/vhosts/y/index.html
vim /etc/httpd/conf.d/vhost.conf不影响主配置,在conf.d中创建虚拟主机
内容如下:
< virtualhost *:80>
documentroot "/web/vhosts/x/"
ServerName www.x.com
errorlog "/var/log/httpd/x.err"
customlog "/var/log/httpd/x.access" combined
< directory "/web/vhosts/x/">
require all granted
< /directory>
< /virtualhost>


< virtualhost *:80>
documentroot "/web/vhosts/y/"
ServerName www.y.com
errorlog "/var/log/httpd/y.err"
customlog "/var/log/httpd/y.access" combined
< directory "/web/vhosts/y/">
require all granted
< /directory>
< /virtualhost>

测试:
Linux 学习 14

文章图片



5、http状态码总结
200:状态正常
301:通过首部位置指明了新的位置
302:临时指明了新的位置
304:请求响应新的条件,但服务器上未发生改变
307:浏览器内部重定向
401:通过认证后访问的资源
403:禁止访问资源
404:资源不存在
500:服务器内部错误
502:无法连接到网关
503:服务器不可用,过载或无法处理请求
504:网关超时

    推荐阅读