Nginx动静分离-负载均衡-反向代理配置

反向代理

  • 反向代理配置
  • 通过反向代理,只有一个nginx的ip暴露给用户,用户不知道处理请求的是哪一台服务器。但是服务器可以清楚的知道用户的信息。
location / {
    proxy_pass       http://localhost:8000;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
}

负载均衡

  • 负载均衡配置
  • 通过负载均衡,可以建立一个服务器组,接受请求后通过分配任务的方式处理请求,提高了处理的效率。
upstream myserver{
    
    ip_hash; # 根据用户的ip进行分配
    minimum_conn; # 由最少链接的服务进行处理
    # 默认采用轮询的方式,可以设置权重
    
    server 192.168.1.1:80 weight=1;
    server 192.168.1.2:80 weight=2 max_fails=3 fail_timeout=30s;
    # 在30s内超过3次失败,则标记为不可用,交给下一个节点处理

	server 192.168.1.1:81 weight=1 backup;  # 作为备用节点
	server 192.168.1.2:82 weight=1 backup;
}

动静分离

  • 动静分离:静态请求不去找处理请求的服务器,而是专门设立一个静态服务器

发来的请求包含静态文件请求,例如js,img等,还有动态请求,网站其他内容,通过动静分离过滤,再通过负载均衡分配任务,实现了系统的高可用。

	location /static{
	    alias /data/www/static/;
	}

alias和root的区别:alias是取别名,而root是说明上级目录

	location /static{
	    alias /data/www/static/;
	}
  • 上面的设置,请求ipaddress/static/1.png 会去/data/www/static/1.png下去找,即alias后面的值+url正则匹配之后的值
	location /static{
	    root /data/www/static/;
	}
  • 上面的配置是指为正则设置上级目录,访问ipaddress/static/1.png 会去/data/www/static/static/1.png,即root后面的值+路由中的值

你可能感兴趣的:(nginx)