hydd的LInux笔记Day31

it2023-12-17  58

Day31

Nginx调度器

HTTP调度

​ 搭建步骤:

​ 1.准备两台能够提供http服务的机器

​ 2.准备一台nginx服务器配置如下操作

Nginx反向代理语法格式

http{ upstream 集群名{ server 192.168.8.5:80;//服务器ip地址 server 192.168.8.6:80; } server{ listen 80; server_name web主机名; location / { …… proxy_pass http://集群名; //调用服务组 } } }

Nginx调度算法

​ 轮询(默认的):逐一循环调度

​ weight:指定轮询几率,权重值和访问比率成正比

​ ip_hash: 根据客户端IP分配固定的后端服务器

服务器组主机状态

​ 状态类型

​ down:表示当前server暂时不参与负载

​ max_fails:允许请求失败的次数(默认为1)

​ fail_timeout:max_fails次失败后暂停提供服务的时间

相同客户机访问相同服务器

​ 使用ip_hash属性 就可以起到这个作用

TCP/UDP调度

模块

​ ngx-stream_core_module模块

​ 安装nginx使用–with-stream选项开启该模块

​ 注:nginx从1.9版本才支持该功能

语法格式

stream{ upstream backend{ server backend1.example.com:12345 weight=5; server 127.0.0.1:22 max_fail_timeout=30s; } server{ listen 12345; proxy_pass backend; } } http{……}

​ 命令ss与netstat命令作用用法相同

HTTP错误代码

返回码描述200一切正常400请求语法报错401拒绝访问(账号或密码错误)403资源不可用,通常由于服务器上文件或目录权限设置导致403禁止访问:客户端的IP地址被拒404无法找到指定位置的资源414请求URL头部太长500服务器内部错误502服务区器作为网关或代理时为了完成请求下一个服务器,但该服务器返回了非法的应答。

nginx搭建网站的优化(常见问题优化)

404页面优化

http{ fatcgi_intercept_errors on; server{ error_page 404 /40x.html; //修改404页面 error_page 500 502 503 504 /50x.html; location = /50x.html{ root html; } } }

解决客户端访问头部过长的问题

在/usr/local/nginx/conf/nginx.conf文件里 client_header_buffer_size 200k; //让用户发送的请求数据包大小为200k large_client_header_buffers 4 200k; //如果上面的容量不足,在赋予4个200k空间

Nginx并发量优化

​ ab工具:一种常用的压力测试工具

​ 需要下载httpd-tools

​ 格式 ab -c 并发数 -n 总请求数 URL

​ 选项:-c:客户机数量(并发数)

​ -n:访问次数(总请求数)

vim /usr/local/nginx/conf/nginx.conf worker_processes 1; //调整进程数 注:进程数的修改是基于硬件配置及cpu数量 events { worker_connections 1024; //每个进程支持的用户数量 }

ulimit -n 命令可以查看一台计算机可以打开多少文件

修改 vim /etc/security/limits.conf文件 53,54行

* soft nofile 100000 * hard nofile 100000 注:这是永久修改

临时修改 :

ulimit -Hn 数值 ulimit -Sn 数值

Nginx状态页面

​ --with-http_stub_status_module :查看服务器的状态信息

location /status{ stub_statys on; allow IP地址; //允许查看的网段 deny ip地址; //拒绝查看的网段 }

状态信息

​ Active connections

​ -当前的活动连接数

​ Accepts

​ -已经接受客户端的连接总数量

​ Handled

​ -已经处理客户端的连接总数量(一般与accepts一致,除非服务器限制了连接数量)

​ Requests

​ -客户端发送请求的数量

​ Reading

​ -当前服务器正在读取客户端请求头的数量

​ Writing

​ -当前服务器正在写响应信息的数量

​ Waiting

​ -当前多少客户端正在等待的服务器响应

配置nginx缓存数据的功能

修改配置文件 在默认的location的下面添加一个新的location

location ~* .(jpg|png|mp4|html)$ { //当用户访问的是这几种类型的

文件时

expires 30d; //都会缓存在客户机上30天

}

然后使用火狐浏览器,先清空历史记录,然后地址栏输入about:cache

查看disk文件的列表,找到被访问文件看最后倒数第2列信息显示多久超时 ginx缓存数据的功能

修改配置文件 在默认的location的下面添加一个新的location

location ~* .(jpg|png|mp4|html)$ { //当用户访问的是这几种类型的

文件时

expires 30d; //都会缓存在客户机上30天

}

然后使用火狐浏览器,先清空历史记录,然后地址栏输入about:cache

查看disk文件的列表,找到被访问文件看最后倒数第2列信息显示多久超时

最新回复(0)