nginx常用配置模板

nginx常用配置模板

1.正向代理
# 正向代理到baidu服务
location = /baidu.html {
         proxy_pass http://www.baidu.com;
}

正向代理的概念: 正向代理是指客户端与目标服务器之间增加一个代理服务器,客户端直接访问代理服务器,在由代理服务器访问目标服务器并返回客户端并返回 。这个过程当中客户端需要知道代理服务器地址,并配置连接。

应用场景: 爬虫、翻墙、maven的nexus服务。

2.反向代理
# 反向代理至 本机的8010服务
location /test/ {
     proxy_pass http://127.0.0.1:8010;  
}

反向代理的概念: 反向代理是指客户端访问目标服务器,在目标服务内部有一个统一接入网关将请求转发至后端真正处理的服务器并返回结果。这个过程当中客户端不需要知道代理服务器地址,代理对客户端而言是透明的。

应用场景:nginx 、Apache负载均衡应用。

代理相关参数:

# 代理服务
proxy_pass
# 是否允许重定向
proxy_redirect off;
# 传header参数至后端服务
proxy_set_header Host $host;
# 设置request header即客户端IP地址
proxy_set_header X-Forwarded-For $remote_addr;
# 连接代理服务超时时间
proxy_connect_timeout 90;
# 请求发送最大时间
proxy_send_timeout 90;
# 读取最大时间
proxy_read_timeout 90;
proxy_buffer_size 4k; 
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k; 
proxy_temp_file_write_size 64k;
3.负载均衡

通过proxy_pass可以把请求代理至后端服务,但是为了实现更高的负载及性能,我们的后端服务通常是多个,这个是时候可以通过upstream模块实现负载均衡。

upstream backend {     
	server 127.0.0.1:8010 weight=1;
	server 127.0.0.1:8080 weight=2;

	server 127.0.0.1:8030 weight=1 backup;
}
location / {
	proxy_pass http://backend;
}

upstream 相关参数:

# 反向服务地址 加端口
server
# 权重
weight
# 失败多少次认为主机已挂掉则,踢出
max_fails
# 踢出后重新探测时间
fail_timeout
# 备用服务
backup
# 允许最大连接数
max_conns
# 当节点恢复,不立即加入,而是等待slow_start后加入服务对列。
slow_start

upstream 负载均衡算法介绍

# 轮询加权重 (默认)
ll+weight
# 基于Hash 计算 ,用于保持session一至性
ip_hash
# 静态资源缓存,节约存储,加快速度(第三方)
url_hash
# 最少链接(第三方)
least_conn
# 最小的响应时间,计算节点平均响应时间,然后取响应最快的那个,分配更高权重(第三方)
least_time
# 注意:第三方是指需要自己为nginx装插件,nginx本身没有实现。
4.nginx缓存配置

在http元素下添加缓存区声明

# proxy_cache_path 缓存路径
# levels           缓存层级及目录位数
# keys_zone        缓存区内存大小
# inactive         有效期
# max_size         硬盘大小
proxy_cache_path /data/nginx/cache_test levels=1:2 keys_zone=cache_test:500m inactive=20d max_size=1g;

为指定location设定缓存策略

# 指定缓存区
proxy_cache cache_test;
# 以全路径md5值做做为Key 
proxy_cache_key $host$uri$is_args$args;
# 对不同的HTTP状态码设置不同的缓存时间
proxy_cache_valid 200 304 12h;

缓存的清除

# 该功能可以采用第三方模块ngx_cache_purge实现
# 清除配置
location ~ /clear(/.*) {
  #允许访问的IP
   allow           127.0.0.1;
   allow           192.168.0.193;
   #禁止访问的IP
   deny            all;
   #配置清除指定缓存区和路径(与proxy_cache_key一至)
   proxy_cache_purge    cache_test $host$1$is_args$args;
}    
# 访问生成缓存文件
http://www.test.com/?a=1
# 清除生成的缓存,如果指定缓存不存在 则会报404 错误。
http://www.test.com/clear/?a=1
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值