请选择 进入手机版 | 继续访问电脑版

Blog.rosdns.cn 艾丝信息科技

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1205|回复: 0

Nginx反向代理和负载均衡部署指南

[复制链接]
发表于 2017-5-31 08:59:11 | 显示全部楼层 |阅读模式

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.13\conf\nginx.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;     

        }

    }



}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|nowcc.cn ( 苏ICP备16033176

GMT+8, 2020-7-13 10:01 , Processed in 0.030486 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表