• 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 {

                 #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;     

            }

        }

    }

  • 相关阅读:
    如何提高逻辑思维的能力 思维的层次 逻辑思维能力练习方式
    淘宝JAVA中间件Diamond详解之简介&快速使用 管理持久配置的系统
    java 取模运算% 实则取余 简述 例子 应用在数据库分库分表
    SpringMVC+Spring+mybatis项目从零开始--Spring mybatis mysql配置实现
    SpringMVC+Spring+mybatis项目从零开始--分布式项目结构搭建
    JS密码校验规则前台验证(不能连续字符(如123、abc)连续3位或3位以上)(不能相同字符(如111、aaa)连续3位或3位以上)
    12 个非常实用的 jQuery 代码片段
    html增加和删除div
    css改变hr颜色
    jquery怎么在点击li标签之后添加一个在class,点击下一个li时删除上一个class?
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/4682825.html
Copyright © 2020-2023  润新知