Nginx作为代理服务_场景配置演示
温馨提示:Nginx缓存场景演示需要两台服务器(我这里使用了两台云主机)
1、Nginx缓存场景配置(腾讯云主机配置)
配置详解:
#负载均衡配置
upstream backend {
server 120.78.153.144:800;
server 120.78.153.144:81;
server 120.78.153.144:82;
}
#/opt/app/cache表示缓存数据的路径
# levels=1:2表示1~2缓存目录层级
# keys_zone=one:10m表示缓存区域标识one,10m表示10M大小,1M可以存储8000个key
# max_size=10g表示在磁盘上最大缓存10g大小文件
# inactive=60m表示60分钟之内不活跃的缓存数据,nginx自动清除
#use_temp_path=off表示关闭临时文件产生,避免跟缓存数据文件冲突
proxy_cache_path /opt/app/cache levels=1:2 keys_zone=one:10m max_size=10g inactive=60m use_temp_path=off;
#proxy_cache one;表示缓存zone的key
#proxy_pass http://backend;表示上面设置的负载均衡地址
#proxy_cache_valid 200 304 12h;表示返回码为200 304的请求,缓存数据时间为12个小时
#proxy_cache_valid any 10m;表示除返回码为200 304之外的请求,缓存数据时间为10分钟
#proxy_cache_key $host$uri$is_args$args;表示标识key为缓存元素
#add_header Nginx-Cache "$upstream_cache_status";表示设置请求头信息-nginx缓存状态
#proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;表示客户单请求会寻找负载均衡中不会报错的服务器IP地址(当请求出现错误、超时、无效头、500、502、503、504错误的时候)
#include proxy_params;表示缓存通用设置
location / {
proxy_cache one;
proxy_pass http://backend;
proxy_cache_valid 200 304 12h;
proxy_cache_valid any 10m;
proxy_cache_key $host$uri$is_args$args;
add_header Nginx-Cache "$upstream_cache_status";
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
include proxy_params;
#root /usr/share/nginx/html;
#index index.html index.htm;
}
proxy_params文件内容如下:
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 30;
proxy_read_timeout 60;
proxy_send_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;
2、Nginx缓存场景配置(阿里云主机配置)
(1)default_80.conf配置
(2)default_81.conf配置
(3)default_82.conf配置
(4)创建index_80.html文件
(5)创建index_81.html文件
(6)创建index_82.html文件
阿里云主机配置完毕之后,重启nginx服务器
3、验证Nginx缓存配置是否生效
多次访问http://193.112.108.135/,返回结果不变
查看缓存目录下是否生成缓存文件
4、关闭Nginx缓存配置,验证nginx负载均衡
多次访问http://193.112.108.135/,轮询Round Robin返回结果