• 负载均衡


    nginx 实现反向代理和负载均衡

    1.        安装
    1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx(目前最新版本是1.11.6版本)安装包;可任意选取版本
    2)         解压后复制到部署目录。

    2.        启动和停止Nginx
    Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录。
    1)         启动Nginx:start nginx
    2)         停止Nginx:nginx -s stop
    3)         修改配置后重启:nginx -s reload
    这三个命令可分别做成bat文件,放在部署目录下,方便后续操作。
    start nginx.bat文件内容:start nginx
    stop nginx.bat文件内容:nginx -s stop
    reload nginx.bat文件内容:nginx -s reload

    3.        反向代理配置
    修改部署目录下conf子目录的nginx.conf文件(如nginx-1.5.13conf ginx.conf)内容,可调整相关配置。
    反向代理配置示例:
    location / {
    #设置主机头和客户端真实地址,以便服务器获取客户端真实IP
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    #禁用缓存
    proxy_buffering off;

    #设置反向代理的地址
    proxy_pass http://192.168.1.1;
    }
    代理地址根据实际情况修改。

    4.        负载均衡配置
    nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
    另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

    负载均衡配置示例:
    upstream backend {
    #ip_hash;

    server 192.168.1.251;
    server 192.168.1.252;
    server 192.168.1.247;
    }

    server {
    listen       80;
    server_name  trffweb;

    location / {

    #反向代理的地址
    proxy_pass http://backend;
    }
    }

    Upstream命名和服务器地址根据实际情况修改。

    5.        完整配置示例
    nginx.conf:

    worker_processes  1;
    events {
    worker_connections  1024;
    }

    http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    upstream backend {
    #ip_hash;
    server 192.168.1.251;
    server 192.168.1.252;
    server 192.168.1.247;
    }

    server {
    listen       80;
    server_name  2;

    location / {
    #设置主机头和客户端真实地址,以便服务器获取客户端真实IP
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    #禁用缓存
    proxy_buffering off;

    #反向代理的地址
    proxy_pass http://backend;
    }
    }

    }

  • 相关阅读:
    ORACLE中seq$表更新频繁的分析
    VmWare平台Windows Server 2012 无响应宕机
    SQL Challenge ——快速找到1-100之间缺失的数
    ORACLE推导参数Derived Parameter介绍
    SQL SERVER 数据库各版本功能对比
    Jsp中格式化时间戳的常用标签
    SQL Server 2014 Database Mail重复发送邮件特殊案例
    采用HTML5之“data
    多线程之策略模式
    docker attach卡住,和exec的选择
  • 原文地址:https://www.cnblogs.com/xiaotaoing/p/6687396.html
Copyright © 2020-2023  润新知