当前位置:首页 > CN2资讯 > 正文内容

nginx代理、缓存、upstreamnginx 代理缓存

10小时前CN2资讯

代理服务器:客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

正向代理与反向代理的区别:正向代理的代理对象是客户端,反向代理的代理对象是服务端

架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中

反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。

 

ngx_http_proxy_module模块配置

(1) proxy_pass URL;

context:location, if in location, limit_except

proxy_pass后面的路径不带uri时,其会将location的uri传递给后端的主机;下面的示例会将/uri/传递给backend服务器;

location  /uri/ {

proxy_pass http://hostname;

}

eg:http:///bbs/-->http://192.168.1.10/bbs/

若  proxy_pass http://hostname/

则路径映射为:   http://192.168.1.10/">http:///bbs/-->http://192.168.1.10/

访问结果:

proxy_pass后面的路径是一个uri时,其会将location的uri替换为后端主机自己的uri;

location  /uri/ {

proxy_pass http://hostname/new_uri/;

}

访问结果为后端主机的主页:

如果location定义其uri时使用的正则表达式模式匹配,则proxy_pass后的路径不能够使用uri;

location  ~*  \.(jpg|gif|jpeg)$  {

                proxy_pass  http://HOSTNAME;

}  :此处的http://HOSTNAME后面不可以;不能有任何uri,哪怕只有/也

当在hostname后添加“/”时报错:

nginx代理动静分离搭建环境:

代理服务器配置:

两台服务其分别安装httpd和php并提供测试页面:

访问192.168.1.111/index.html.和index.php和效果

upstream

ngx_http_upstream_module模块配置  :nginx反代负载均衡器

用于将多个服务器定义成服务器组,而由proxy_pass, fastcgi_pass等指令进行引用;

(1) upstream name { ... }

定义一个后端服务器组,name为组名称;仅能用于http上下文 ;

(2) server address [parameters];

在upstream中定义一个服务器及其相关参数;仅能用于upstream上下文;

    address定义:IP[:porrt]

                           HOSTNAME[:port]

                           unix:/path/to/some_socket_file

常用参数:

weight=number:定义服务器权重,默认为1;

        max_fails=number:最大失败连接尝试次数,失败连接超时时长由fail_timeout参数指定;

        fail_timeout=number:等待目标服务器发送响应的时长;

backup:备用服务器,所有主服务器均故障时才启用此主机;sorry_server

down:手动标记其不再处理任何用户请求;灰度发布模式

eg:官方文档配置示例:

upstream backend {

 server        weight=5;

server :8080;

server unix:/tmp/backend3;

        server :8080   backup;

 server :8080   backup;

}

server {

            location / {

   proxy_pass http://backend;

            }

}

在http上下文配置upstream 201/202集群服务器

访问效果:

缓存相关的选项(缓存要先定义,后调用):定义level目录最多有3级

     proxy_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size] 

        定义缓存;可用上下文为http; 

        eg:proxy_cache_path /var/cache/nginx/proxy levels=1:1:1 keys_zone=pcache:10m max_size=1g;

    proxy_cache zone | off; 调用缓存;可用上下文 为http, server和location;

    proxy_cache_key string;定义缓存键;

        proxy_cache_key $scheme$proxy_host$request_uri;

    proxy_cache_valid [code ...] time;对不同响应码的响应设定其可缓存时长;

       eg: proxy_cache_valid 200 302 10m;

        proxy_cache_valid 404      1m;

location {

proxy_cache pcache;

proxy_cache_key $scheme$proxy_host$request_uri;

roxy_cache_valid 200 302 10m;

        proxy_cache_valid 404      1m;

        proxy_pass http://192.168.1.202;

        index  index.html index.htm;

}

    设置在何种情况下使用缓存响应:

proxy_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | off ...;

跟连接相关的选项

proxy_connect_timeout time;定义与后端服务器建立连接的超时时长;默认为60s,不建议超出75s; 

proxy_send_timeout time;把请求发送给后端服务器的超时时长;默认为60s;

        proxy_read_timeout time;等待后端服务器发送响应报文的超时时长;

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25166.html

    分享给朋友:

    “nginx代理、缓存、upstreamnginx 代理缓存” 的相关文章

    什么是VPS?探索虚拟专用服务器的独立性与灵活性

    在现代互联网环境中,VPS(虚拟专用服务器)是许多人所关注的一个话题。它通过虚拟化技术,将一台物理服务器切割成多个独立的虚拟服务器。每个VPS都能独立运行自己的操作系统,拥有专属的内存、磁盘空间和带宽。这种设计让VPS在很多方面都表现得尤为出色,适合各种需求。 简单来说,VPS就像在一台大房子里有多...

    IDC托管便宜还是公有云便宜?全面解析成本优势与选择指导

    在选择IT基础设施时,我发现IDC托管和公有云服务是两个普遍关注的选项。很多企业在进行服务器部署时都在思考“IDC托管便宜还是公有云便宜?”为了帮助大家更好地理解,我决定从几个关键方面进行深入分析。 IDC托管的价格构成 在开始探讨具体价格前,我们有必要理清IDC托管的价格构成。基本上,IDC托管费...

    探索阿什本:全球数据中心之都的科技与美食之旅

    阿什本,这个名字或许在很多人耳中听起来并不陌生。作为美国弗吉尼亚州劳登郡的一部分,它距离华盛顿特区仅34英里,恰如其分地威尔士着城市的繁华。在我踏上这片土地的那一刻,便被它的快速发展与活力所吸引。阿什本不仅是一个城市,更是全球数据中心的中心,称其为“全球数据中心之都”可谓名至实归。 在阿什本,互联网...

    VPS Pro - 理想的虚拟专用服务器解决方案

    什么是 VPS Pro VPS Pro 是一种先进的虚拟专用服务器解决方案,提供用户高度可定制的服务器环境。与传统的共享主机或物理服务器相比,VPS Pro 以虚拟化技术为基础,让每位用户享有像独立服务器一样的资源和灵活性。这种技术不仅提升了资源的利用率,还为用户提供了更高的控制权限。 在VPS P...

    dataonline3:高效的数据管理与分析工具

    1. dataonline3概述 在当今这个数据驱动的时代,dataonline3作为一个先进的数据管理工具,受到了广泛关注。它整合了丰富的数据处理功能,使用户能够轻松地收集、分析和展示数据。用户无论是在科研、企业还是个人项目中,dataonline3都提供了便利和强大的支持。 dataonline...

    如何优化 cloudiplc 网络性能与数据安全策略

    cloudiplc 网络性能优化 在我们讨论 cloudiplc 的网络性能优化之前,先来了解一下它的基本概念和架构。cloudiplc 是一种创新的网络连接方案,它通过将用户的请求智能地路由到离他们最近的数据中心,以实现更快的响应时间和更好的用户体验。这种架构不仅仅依赖于传统的网络协议,还结合了多...