nginx(二)

熬过的夜,少睡的觉,都是要还的,不是下午,就是傍晚。

代理相关参数

proxy_pass # 代理服务
proxy_redirect off; # 是否允许重定向
proxy_set_header Host $host; # 传 header 参数至后端服务
proxy_set_header X-Forwarded-For $remote_addr; # 设置request header 即客户端IP 地址
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: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;
}
// 相关参数
service 反向服务地址 加端口
weight 权重
max_fails 失败多少次 认为主机已挂掉则,踢出
fail_timeout 踢出后重新探测时间
backup 备用服务
max_conns 允许最大连接数
slow_start 当节点恢复,不立即加入,而是等待 slow_start 后加入服务对列。

nginx静态缓存

// 缓存参数(跟upstream,server同级)
#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实现缓存清除
#下载ngx_cache_purge 模块包 ,这里nginx 版本为1.6.2 purge 对应2.0版
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
#查看已安装模块
./sbin/nginx -V
#进入nginx安装包目录 重新安装 --add-module为模块解压的全路径
./configure --prefix=/root/svr/nginx --with-http_stub_status_module --with-http_ssl_module  --add-module=/root/svr/packages/ngx_cache_purge-2.3
#重新编译
make
#拷贝 安装目录/objs/nginx 文件用于替换原nginx 文件
#检测查看安装是否成功
nginx -t
// location配置
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;
}

nginx调优参数

worker_processes number
工作进程,由于nginx每个工作进程是单线程的,建议配置和内核数一样的工作进程
worker_connections
每个工作进程的最大连接数
worker_cpu_affinity
为每个工作线程绑定cpu内核,防止工作进程切换内核造成的消耗
示例:worker_cpu_affinity 1000 0100 0010 0001
worker_priority
进程优先级,取值范围:–20~+19,-20最高
worker_rlimit_nofile
进程可以打开的最大句柄描述符个数
accept_mutext
负载均衡锁,当某一个worker进程建立的连接数量达到worker_connections配置的最大连接数的7/8时,会大大地减小该worker进程试图建立新TCP连接的机会,accept锁默认是打开的,如果关闭它,那么建立TCP连接的耗时会更短,但worker进程之间的负载会非常不均衡,因此不建议关闭它
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值