深入了解 proxy_connect_timeout 等参数的设置与应用

Lunvps
pENeBMn.png

代理连接超时 10;

代理读取超时 180;

代理发送超时5;

代理缓冲区大小16k;

代理缓冲区 4 32k;

代理忙缓冲区大小96k;

代理临时文件写入大小96k;

代理临时路径/tmp/temp_dir;

proxy_cache_path /tmp/cache 级别=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;

proxy_connect_timeout 服务器连接超时

proxy_read_timeout 连接成功后,等待后端服务器响应

proxy_send_timeout 后端服务器数据返回时间

proxy_buffer_size 缓冲区的大小

proxy_buffers 设置每个连接的缓冲区数量为number,每个缓冲区的大小为size

proxy_busy_buffers_size 开启缓冲响应功能之后,如果在没有读完整个响应的情况下,写入缓冲区达到了一定大小,nginx 就一定会发送响应给客户端,直到缓冲区小于这个值。

proxy_temp_file_write_size设置nginx每次将数据写入临时文件的大小限制

proxy_temp_path 从后端服务器接收的临时文件的存储路径

proxy_cache_path设置缓存路径等参数,如果缓存数据在inactive参数指定的时间内(当前为1天)没有被访问,那么就会被从缓存中移除。

2.2 服务器层设置

2.2.1 反向缓存代理服务器

服务器 {

听 80 默认服务器;

服务器名称 本地主机;

根目录/mnt/blog/;

地点 / {

#为了缓存文件后缀,可以在下面设置。

位置 ~ .*\.(gif|jpg|png|css|js)(.*) {

proxy_pass地址:90;

代理重定向关闭;

proxy_set_header 主机 $host;

代理缓存缓存一;

代理缓存有效 200 302 24小时;

代理缓存有效 301 30d;

proxy_cache_valid 任何 5m;

90天后到期;

add_header wall“嘿!伙计们!给我一颗星星。”;

proxy_pass:如果无法从nginx缓存中获取资源,则将请求转发到此地址,获取新的资源,并缓存起来

proxy_redirect 设置后端服务器的“Location”响应头和“Refresh”响应头的替换文本

proxy_set_header 允许重新定义或向后端服务器添加请求标头

proxy_cache指定用于页面缓存的共享内存,与http层设置的keys_zone对应

proxy_cache_valid 针对不同的响应状态码设置不同的缓存时间

缓存过期时间

这里我设置了图片,css,js静态资源的缓存。

当用户输入域名时,会解析ip:port访问地址,默认端口是80,因此该页面请求会被当前服务器拦截并处理。

当解析以上述文件名结尾的静态资源时,会从缓存中获取该静态资源。

如果获取到了相应资源,则直接返回数据。

若无法获取,则请求会被转发到proxy_pass指向的地址进行处理。

2.2.2 源服务器

服务器 {

听90;

服务器名称本地主机;

根目录/mnt/blog/;

地点 / {

这里我们直接处理90端口收到的请求,从服务器本地目录/mnt/blog中获取资源进行响应。

3.如何验证缓存是否有效

细心的读者应该已经注意到,我在示例的第二段中留下了一个复活节彩蛋:add_header wall“嘿!伙计们!给我一颗星星。”

add_header 用于设置 header 中的自定义信息。

因此如果缓存有效的话,静态资源返回的header里一定会带有这个信息。

pENeBMn.png
文章版权声明:除非注明,否则均为论主机评测网原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 后端架构是指构建和维护服务器端应用程序的整体结构和设计。它涉及到多个方面,包括技术选型、系统设计、数据库设计、缓存策略、安全性等。以下是一个典型的后端架构的概述
  • 前端框架是用于构建用户界面的软件框架,它提供了一套预定义的代码结构和工具,帮助开发者更高效地创建复杂的Web应用程序。以下是一些流行的前端框架
  • Linux在线系统网站可能指的是可以在线使用或体验Linux系统的网站,或者提供Linux相关教程和资源的网站。以下是一些与Linux相关的在线资源和网站
  • Linux系统是一种自由和开放源码的操作系统,它可以在多种计算机硬件平台上运行,包括桌面计算机、服务器、智能手机、路由器等。因此,Linux系统并不特定于某种电脑,而是可以安装在各种不同类型的电脑上。
  • Linux系统并不是由某个特定的国家开发的,而是由全球各地的开发者和社区共同贡献和开发的。
  • Linux系统是一个基于Unix的操作系统,它本身不是一个命令,而是一个由许多命令和工具组成的操作系统环境。在Linux系统中,用户可以通过终端(命令行界面)输入各种命令来执行不同的操作。
  • 阿里巴巴与Linux之间有着紧密的联系。阿里巴巴是中国最大的电商平台之一,而Linux是一款自由和开放源代码的操作系统。阿里巴巴在其技术栈中广泛使用了Linux,以支持其庞大的业务需求和数据处理能力。
  • Linux系统本身并没有专门的手机版可供下载,但你可以通过一些方法在手机上运行Linux系统。以下是一些常见的方法
  • pENeBMn.png

    目录[+]