来源:未知 时间:2015-08-03 10:12 作者:xxadmin 阅读:次
[导读] 本文讲解Nginx如何实现反向代理和负载均衡 1.安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包; 2) 解压后复制到部署目录。 2.启动...
本文讲解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.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; } } } |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com