nginx反向代理和负载均衡

一、反向代理

准备两台机器,一台是nginx的反向代理服务器,一台是普通的web网站

 

反向代理服务器配置

# 客户端访问192.168.11.59实际上访问192.168.11.169
server {
    listen       80;
    server_name  192.168.11.59;

    location / {
    # 设置反向代理
    proxy_pass http://192.168.11.169;
        #root   html;
        #index  index.html index.htm;
    }
}

 

web服务器配置

server {
        listen       80;
        server_name  192.168.11.169;

        location / {
            # 只允许访问该目录 
        allow 192.168.11.59;
            # 禁止所有ip访问该目录
        deny all;
            root   html;
            index  index.html index.htm;
        }
}

 

二、集群

集群即多台服务器合作工作

 

集群的特点:

高性能

价格有效性

可伸缩性

高可用性

透明性

 

三、负载均衡的实现

服务器A:nginx负载均衡

服务器B:web服务器

服务器C:web服务器

 

服务器A配置

# 定义负载均衡池
upstream nginx_pool {
    # #ip_hash  默认是轮询算法,ip_hash是每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
    server 192.168.11.169;
    server 106.12.83.215;
}
server {
    listen       80;
    server_name  192.168.11.59;

    location / {
        # 将访问的ip发送至web端
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # 设置反向代理
        proxy_pass http://nginx_pool;
    }
}

 

 

nginx负载均衡算法

轮询        按时间顺序逐一分配到不同的后端服务器(默认)
weight       加权轮询,weight值越大,分配到的访问几率越高
ip_hash      每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
url_hash      按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
least_conn    最少链接数,那个机器链接数少就分发

 

posted @ 2019-01-11 19:39  st--st  阅读(173)  评论(0编辑  收藏  举报