Linux 学习 14

Posted zhopper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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=index18.html dest=/var/www/html/
when: ansible_default_ipv4.address == "192.168.30.18" 使用when 判断IP地址,拷贝对应的index文件

- name: copy file28
copy: src=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


2、简述PV,UV,QPS的含义及计算方式

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>

测试:


5、http状态码总结

200:状态正常

301:通过首部位置指明了新的位置

302:临时指明了新的位置

304:请求响应新的条件,但服务器上未发生改变

307:浏览器内部重定向

401:通过认证后访问的资源

403:禁止访问资源

404:资源不存在

500:服务器内部错误

502:无法连接到网关

503:服务器不可用,过载或无法处理请求

504:网关超时

以上是关于Linux 学习 14的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

linux学习:Nginx--常见功能配置片段与优化-06

如何看mysql版本

mysql查看版本的四种方法

js-权威指南学习笔记14