Nginx入门:反向代理、负载均衡、动静分离、高可用集群

1.nginx简介

        http和反向代理web服务器。

2.主要功能

  • 反向代理
  • 负载均衡
  • 动静分离
  • 高可用集群

3.安装

        centos:yum install nginx

        配置文件位置:/etc/nginx/nginx.conf

4.常用命令

  • 启动:nginx
  • 停止:nginx -s stop
  • 重新加载配置文件:nginx -s reload

5.反向代理

5.1正向代理

  • 简述:客户端通过正向代理访问互联网。
  • 特点:正向代理隐藏了真实的客户端。客户端访问时需要配置,且需要知道真实服务器地址。

5.2反向代理

  • 简述:客户端访问反向代理,由反向代理转发至真正的服务器。
  • 特点:反向代理隐藏了真实的服务端。客户端访问无需配置,直接访问代理服务器。

5.2.1配置实现

        监听端口,通过路径匹配,转发到不同的服务器。

server{
    listen 80
    location /{
        proxy_pass	http://192.168.1.10:8080;
	}
}

server{
    listen 81
    location /{
        proxy_pass	http://192.168.1.11:8080;
	}
}

6.负载均衡

6.1 概述

        通过增加服务器的数量,nginx将请求分配到不同的服务器,以此来减轻单服务器的负担。

6.2 配置实现

#负载均衡
upstream myservice{
    server 192.168.1.10:8080;
	server 192.168.1.11:8080;
	server 192.168.1.12:8080;
}
	
server{
	listen 80
	location ~/test/{
    	proxy_pass	http://myservice;
	}
	
}

6.3 分配服务策略

6.3.1 轮询(默认)

        每个请求按时间顺序逐一分配到不同的服务器,如果服务器宕机,能自动剔除。

6.3.2 权重

        根据设置的权重来分配,权重越高的服务器分配到的客户端越多。

#负载均衡
upstream myservice{
    #设置权重
    server 192.168.1.10:8080 weight 1;
	server 192.168.1.11:8080 weight 5;
	server 192.168.1.12:8080 weight 10;
}
	
server{
	listen 80
	location ~/test/{
    	proxy_pass	http://myservice;
	}
	
}

6.3.3 ip_hash

        根据请求的ip的哈希结果分配,每个客户端固定访问一个后端服务器。

#负载均衡
upstream myservice{
    #配置hash
    ip_hash;
    server 192.168.1.10:8080;
	server 192.168.1.11:8080;
	server 192.168.1.12:8080;
}
	
server{
	listen 80
	location ~/test/{
    	proxy_pass	http://myservice;
	}
	
}

6.3.4 fair(第三方模块)

        根据服务器响应时间来分配请求,响应时间短的优先分配。

#负载均衡
upstream myservice{
    #配置fair
    fair;
    server 192.168.1.10:8080;
	server 192.168.1.11:8080;
	server 192.168.1.12:8080;
}
	
server{
	listen 80
	location ~/test/{
    	proxy_pass	http://myservice;
	}
	
}

7.动静分离

7.1   概述

        将动态请求(访问后台应用)和静态请求(访问html、css、js、jpg等静态资源)区分开。提高用户访问静态文件的速度,降低对后台应用的访问,提高服务器响应速度和性能

        动态请求→→Nginx→→Tomcat
        静态请求→→Nginx→→静态资源服务器(html、css、image)

7.2 配置实现

server {
    listen 80;
    server_name 192.168.1.50;

    #静态资源配置
    location /static/ {

        root /www/data/;
        
        autoindex on;#显示文件列表
    }

    #动态资源配置
    location /example {

        proxy_pass http://test;

        proxy_redirect default;

    }
}

 7.3 root与alias的区别

        二者都可以定义在location模块中,都用来指定请求资源的真实路径。

  • root,意为location地址值的根目录,真实路径为root + location;
  • alias,意为location地址值别名,真是路径即为alias指定的路径。

        比如访问www.123.com/static/abc.jpg

        若使用root配置,真实访问路径为:/www/data/static/abc.jpg

location ~/static/{
    root	/www/data/; 
}

       若使用alias配置,真实访问路径为:/www/data/abc.jpg

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

         实际访问的是 /www/data/abc.jpg

8.高可用的集群

(后续更新)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值