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

Lunvps

代理连接超时 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里一定会带有这个信息。

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

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,93人围观)

还没有评论,来说两句吧...