• nginx反向代理和负载均衡的简单部署


    1.   安装
      1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包;

      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 {
                 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 {
                 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中查看所有表和字段以及表注释.字段注释
    利用Excel表格中的宏,轻松提取首字母
    IntelliJ IDEA 14 注册码
    oracle initialization or shutdown in progress解决方法
    IIS6.0 IIS7.5应用程序池自动停止的解决方法
    Yii1.1测试环境配置(一)
    流行界面库
    delphi image控件上画矩形的问题
    delphi中TQueue的使用问题
    ShellExecute函数的问题
  • 原文地址:https://www.cnblogs.com/zyj-python/p/7577257.html
Copyright © 2020-2023  润新知