什么是nginx

nginx是一款免费的、自由的、开源的、高性能HTTP服务器和反向代理服务器,nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,能支持高达 50000 个并发连接数。

nginx有哪些功能

  1. 正向代理

用户需要手动配置代理服务器,可以配置一个代理服务器

  1. 反向代理

反向代理,“它代理的是服务端”,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。

  1. 负载均衡

一个请求过来,nginx可以动态的把这个请求分配给不同的服务器。这种就是负载均衡,避免一个服务器压力过大,可以支持更多的请求。

支持的负载均衡算法有:

  • 轮询(默认)。
  • weight,代表权,权越高优先级越高。
  • fair,按后端服务器的响应时间来分配请求,相应时间短的优先分配。
  • ip_hash,每个请求按照访问 ip 的 hash 结果分配,这样每一个访客固定的访问一个后端服务器,可以解决 Session 的问题。
  1. 动静分离

一个请求过来,我们可以把例如图片之类的静态文件自己映射处理,把动态的请求转发给tomcat之类的服务器去处理。

  1. 限流

Nginx使用的限流算法是漏桶算法,在http块中,配置基础的限流配置:

http {     
	limit_req_zone$binary_remote_addr zone=mylimit:10m rate=10r/s;03   	  server {
		location /test/ {
		limit_reqzone=mylimit;        
		proxy_passhttp://backend;
		}
	}
}
  1. 高可用
    nginx经常和keepalive组合完成高可用
  2. 黑白名单

nginx可以配置黑白名单

  1. 好用的配置

worker 数应该和 CPU 数相等

欢迎关注公众号蜜蜂技术巢了解更多知识