nginx负载均衡和反向代理和部署详解架构师

nginx负载均衡和反向代理和部署详解架构师


一:安装

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

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


三:反向代理配置

修改部署目录下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;       


      }

代理地址根据实际情况修改。


四:负载均衡配置

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命名和服务器地址根据实际情况修改。


五:完整配置示例


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;     


        }


    }


}
转载请注明来源:http://www.itxm.net/a/jiagoushi/2017/1120/1473.html

nginx负载均衡和反向代理和部署详解架构师

转载请注明来源网站:blog.ytso.com谢谢!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/architecture/6971.html

(0)
上一篇 2021年7月17日 01:50
下一篇 2021年7月17日 01:50

相关推荐

发表回复

登录后才能评论