【记录】nginx 配置详解

 

 

正向代理:通过VPN等中间服务器访问某网站,需要代理到代理服务器,

正向代理是访问外部服务地址

location = /baidu.html {
proxy_pass http://www,baidu.com;
}

反向代理是访问内部服务器地址

location / XX/ {
proxy_passs http://127.0.0.1:8010
}

 


proxy_set_header Host $Host; # 传 header 参数至后端服务
proxy_set_header X-Forward-For $remote_addr; #设置 request header 即客户端IP 地址
proxy_pass http://xxx.com; 代理服务
proxy_redirect off; 是否允许重定向
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;

 


upstream 负载均衡

upstream backend {

server 127.0.0.1:8081 weight ; #weight 权重
server 127.0.0.1:8082;

server 127.0.0.1:8083; backup; #如果上面服务器挂了就访问备份服务
}

负载均衡算法
ll + weight 轮训加权重(默认)
ip_hash 保持session一致性 (如果某个nginx挂掉重新登录会话,登录到指定服务器)
url_hash 静态资源缓存,解决存储,加快速度(第三方)
least_conn: 最少链接
least_time:最小响应时间,计算节点平均响应时间,然后取响应时间最快的那个,分配更高权重

一致性hash

可以将session保存在会话中心用redis(或者用ip_hash)

 

nginx 高速缓存

QPS:每秒查询数
TPS:每秒处理数

 

150KB 乘以 500QPS/秒 接近于70M网络

将原来的redis 缓存放到nginx ,少走一步

nginx 缓存到硬盘里


Nginx 静态缓存基本配置
一:在http元素下添加缓存区声明。
proxy_cache_path /data/nginx/cache_xxx levels=1:2 keys_zone=cache_luban:500m inactive=20d max_size =1g;

levels:缓存目录级别 1表示缓存取最后一个字母 2表示下级目录去第二第三个字母
缓存码用MD5
proxy_cache_path 缓存路径
levels:缓存层级及目录数
keys_zone:缓存区内存大小
inactive:有效期
max_size:硬盘大小


二:为指定location设定缓存策略
location / {
proxy_pass http://xxx;
proxy_cache cache_luban;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 12h;
}

指定缓存区
proxy_cache cache_luban;
以全路径md5值做为key
proxy_cache_key $host$uri$is_args$args;
对不同的http状态码设置不同的缓存时间


nginx 多进程 单线程

events {
worker_connections 1024;
}

posted @ 2020-02-22 21:12  -天道酬勤-  阅读(162)  评论(0编辑  收藏  举报