详解Nginx反向代理和负载均衡部署指南
Nginx反向代理和负载均衡部署指南,具体如下:
1. 安装
1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包;
2) 解压后复制到部署目录。
2. 启动和停止Nginx
Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录。
1) 启动Nginx:startnginx
2) 停止Nginx:nginx-sstop
3)修改配置后重启:nginx-sreload
这三个命令可分别做成bat文件,放在部署目录下,方便后续操作。
startnginx.bat文件内容:startnginx
stopnginx.bat文件内容:nginx-sstop
reloadnginx.bat文件内容:nginx-sreload
3. 反向代理配置
修改部署目录下conf子目录的nginx.conf文件(如nginx-1.5.13\conf\nginx.conf)内容,可调整相关配置。
反向代理配置示例:
location/{ #设置主机头和客户端真实地址,以便服务器获取客户端真实IP proxy_set_headerHost$host; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; #禁用缓存 proxy_bufferingoff; #设置反向代理的地址 proxy_passhttp://192.168.1.1; }
代理地址根据实际情况修改。
4. 负载均衡配置
nginx的upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
负载均衡配置示例:
upstreambackend{ #ip_hash; server192.168.1.251; server192.168.1.252; server192.168.1.247; } server{ listen80; server_nametrffweb; location/{ #反向代理的地址 proxy_passhttp://backend; } }
Upstream命名和服务器地址根据实际情况修改。
5. 完整配置示例
nginx.conf:
worker_processes1; events{ worker_connections1024; } http{ includemime.types; default_typeapplication/octet-stream; sendfileon; keepalive_timeout65; upstreambackend{ #ip_hash; server192.168.1.251; server192.168.1.252; server192.168.1.247; } server{ listen80; server_name2; location/{ #设置主机头和客户端真实地址,以便服务器获取客户端真实IP proxy_set_headerHost$host; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; #禁用缓存 proxy_bufferingoff; #反向代理的地址 proxy_passhttp://backend; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。