您的位置:首页 > 健康 > 美食 > nginx动静分离和反向代理

nginx动静分离和反向代理

2024/10/6 12:21:03 来源:https://blog.csdn.net/cc2022928/article/details/139476821  浏览:    关键词:nginx动静分离和反向代理

一、动静分离

动静分离指的是将动态内容和静态内容分开处理。动态内容通常由后端应用程序生成,例如PHP、Python或Node.js,静态内容则包括图片、CSS、JavaScript等文件。
请添加图片描述

例子:

#代理服务器一
server{listen 80;server_name  www.dj.com;root    /data/nginx/dj;location  / {root  /data/nginx/dj;
}#处理动态文件请求location ~* \.(api|php)$ {proxy_pass http://192.168.10.10;}#处理静态文件请求location ~* \.(jpg|jpeg|png|gif|bmp)$ {proxy_pass http://192.168.10.20;}
}
#随后配置两台后台服务器的处理请求的配置即可以实现动静分离

二、反向代理

反向代理:reverse proxy,指的是代理外网用户的请求到内部的指定的服务器,并将数据返回给用户的一种方式,这是用的比较多的一种方式。

1.单台反向代理

请添加图片描述

例子:

# 代理服务器
server {
......
proxy_pass http://192.168.10.101;
}
#真实服务器通过http或nginx提供需要的文件

2.反向代理负载均衡

在上一个节中Nginx可以将客户端的请求转发至单台后端服务器但是无法转发至特定的一组的服务器,而且不能对后端服务器提供相应的服务器状态监测,Nginx 可以基于ngx_http_upstream_module模块提供服务器分组转发、权重分配、状态监测、调度算法等高级功能

#自定义一组服务器,配置在http块内
#一定要写在server模块上面
upstream  web { server 192.168.91.20    server 192.168.91.101
}location  / {
pass_proxy  http://web/
}#然后配置两台真实服务器来提供服务

访问代理服务器可以看代理服务器把消息轮流转发给后台服务器
请添加图片描述

相关语法

#server支持的parameters如下:
weight=number #设置权重,默认为1,实现类似于LVS中的WRR,WLC等
max_conns=number  #给当前后端server设置最大活动链接数,默认为0表示没有限制
max_fails=number  #后端服务器的下线条件,当客户端访问时,对本次调度选中的后端服务器连续进行检测多少次,如果都失败就标记为不可用,默认为1次,当客户端访问时,才会利用TCP触发对探测后端服务器健康性检查,而非周期性的探测
fail_timeout=time #后端服务器的上线条件,对已经检测到处于不可用的后端服务器,每隔此时间间隔再次进行检测是否恢复可用,如果发现可用,则将后端服务器参与调度,默认为10秒
backup  #设置为备份服务器,当所有后端服务器不可用时,才会启用此备用服务器 sorry server   自己不能转自己
down    #标记为down状态
resolve #当server定义的是主机名的时候,当A记录发生变化会自动应用新IP而不用重启Nginx

例:
请添加图片描述

nginx相关算法

请添加图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com