nginx
2021-10-06 17:15:27 1 举报
AI智能生成
登录查看完整内容
nginx还需要扩展点是,如何与lua整合,如何与redis进行多级缓存。
作者其他创作
大纲/内容
占有内存少
并发能力强
特点
命令行参数
ps ef|grep nginx
查看端口
nginx
启动
kill -quit nginx 主进程
nginx -s stop
从容停止
kill -term nginx主进程
快速停止
停止
nginx -s reload
重启
基本用法
文件结构
配置文件参考
配置zip
使用
示意图
用户请求反向代理服务器,反向代理服务器选择目标服务器,获取数据后再返回给客户端
~:表示uri包含正则表达式,且区分大小写
~*:表示uri包含正则表达式,且不区分大小写
=:表示uri不含正则表达式,要求严格匹配
location指令说明
样例
反向代理
server
设置nginx代理服务,一般是配置到一个server块中。
1.在server块中,不要出现server_name指令,即使不要设置虚拟主机的名称和ip
resolver是必须的,如果没有该指令,nginx无法处理接收到的域名。
nginx代理服务不支持正向代理HTTPS站点。
方法2:vim ~/.bashrc export http_proxy=http://你的正向代理服务器地址:代理端口
需要访问外网的客户端上执行以下一种操作
正向代理
按照相关的正则表达式与字符串修改url,指令按照在配置文件中出现的顺序执行
rewrite
HttpRewrite模块
作用域:
例子:
注意:
重定向
将原先请求集中到单个服务器上的情况改为增加服务器的数量,然后将请求分发到各个服务器上,将负载分发到不同的服务器
配置
按照请求的时间顺序依次逐一分配,如果服务器down掉,能自动剔除。
轮询(默认)
weight越高,被分配的客户端就越多,默认1
权重
按照请求的ip的hash值分配,每个访问固定访问一个后端服务器。
ip
按照后端服务器的响应时间来分配,响应时间短的优先分配到请求。
fair
nginx分配服务器策略
负载均衡
静态资源缓存
给一个资源设定一个过期时间,通过expires参数设置,可以使浏览器缓存过期时间之前的内容,可以减少与服务器之间的请求和流量,也就是说无须去服务端验证,直接通过浏览器自身确认是否过期即可。所以不会产生额外的流量,此种方法非常适合不经常变动的资源。
缓存
为了提高系统高可用性和容错能力,可以增加nginx服务器的数量,当主服务器发生故障或者宕机,备份服务器可以立即充当主服务器进行不间断工作。
准备两台nginx服务器,通过浏览器地址栏访问虚拟ip地址,把主服务器的nginx停止,再次访问虚拟机ip地址仍然有效、
实现效果:
1.在两台nginx服务器上安装keepalivedkeepalived将nginx服务器绑定到一个虚拟ip上,nginx高可用集群对外统一暴露这个虚拟ip,客户端都是通过这个虚拟ip来访问nginx服务器。
2.修改主备服务器/etc/keepalived/keepalivec.conf配置文件(可直接替换),完成高可用主从配置,keepalived将nginx服务器绑定到一个虚拟ip,nginx高可用集群对外暴露这个虚拟ip,客户端都是通过访问这个虚拟ip来访问nginx服务器的。
3.在/usr/local/src 目录下添加检测脚本 nginx_check.sh
4.启动两台服务器的nginx和keepalived
5.查看虚拟ip地址ip a.把主服务器192.168.4.32 nginx和keepalived停止,再访问ip查看高可用效果。
具体配置:
keepalived配置
高可用
应用
子主题
每个worker的线程可以把cpu的性能发挥到极致,因此worker数和服务器的cpu数相等最合适。
每个worker是独立的进程,如果其中一个worker出现问题,其他不会影响,不会造成服务中断。
每个worker都是一个独立的进程,每个进程里只有一个主线程,通过异步非阻塞处理请求
优点
netty,nginx和redis类似,都采用了io多路复用机制。
io多路复用
io多路复用机制
结构与扩展
从用户的角度,http1.1的协议下,由于浏览器默认使用两个并发连接,发送一个请求,占用两个worker连接数
发送一个请求,会占用worker几个连接数
作为http服务器
作为反向代理
有一个master和四个worker每个worker支持的最大连接数为多1024,系统支持的并发数是多少
如何解决:在proxy_set_header Host $host
如果/api/***,转交给对应的服务器
如果是满足域名,转交给对应的服务
nginx直接代理网关,网关判断
nginx把请求代理给网关后容易出现什么问题
问题
0 条评论
回复 删除
下一页