Nginx配置


一、Nginx常规配置

添加nginx专属用户

useradd -M -d /usr/local/nginx -s /sbin/nologin nginx

修改nginx配置文件

vim nginx.conf
user nginx;
worker_processes  2;	#进程工作数
worker_cpu_affinity 01 10;

events {
    worker_connections  65535;	#并发连接数
}

重启nginx

systemctl reload nginx

修改系统限制

 vim /etc/security/limits.conf
nginx - nofile 65535

二、Nginx反向代理

在http{}语句块中添加 upstream{}

vim nginx.conf
http {
	upstream backend { #添加后端server列表
	server server1 weight=2; #默认使用Round Robin调度算法,可以设置权重
	server server2;	#需要设置解析 
	server 127.0.0.1 backup; #backup当所有server全部故障后启用
	}
...
	server { #定义虚拟主机
		listen 80;
		server_name myapp.westos.org;	# 域名访问,需设置解析
		location / {
		proxy_pass http://backend; #所有请求转发到backend,实现负载均衡
		}
	}
}

重启nginx

systemctl reload nginx

测试

for i in {1..10};do curl myapp.westos.org;done

在这里插入图片描述

ip_hash算法

通过客户端请求ip进行hash,再通过hash值选择后端server

vim nginx.conf
upstream backend {
	ip_hash;
	server server1;
	server server2;
	#server 127.0.0.1 backup;
}

重启nginx

systemctl reload nginx

测试

for i in {1..10}; do curl myapp.westos.org;done

在这里插入图片描述

三、nginx流量限制

 limit_conn_zone $binary_remote_addr zone=addr:10m; #10m大小的空间
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; #限制请求速率,每秒1次
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        location /download/ {
            limit_conn addr 1;#限制并发数1
            #limit_req zone=one; #客户端超出限制的请求都会失败,日志中会显示503
			# limit_req zone=one burst=5 #过多的请求将会排队
			# limit_req zone=one burst=5 nodelay; #突发流量不需要延迟
            limit_rate 50k;#访问速率50k
            autoindex on;#自动索引
        }
	}

重启nginx

systemctl reload nginx

测试

ab -n 10 -c 10 http://192.168.152.200/download/test.jpg

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值