Nginx反向代理和负载均衡实践

 
更多

Nginx作为反向代理服务器,可以对Web服务器提供加速,并且具有负载均衡的功能。nginx可以自动剔除停止服务的服务器,保证web服务的正常访问。

本例实现一个用户访问192.168.1.4,将其代理到192.168.1.2:80、192.168.1.3:80这两台服务器实现负载。

以下为配置文件 nginx.conf:

user www www;

worker_processes 10;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;

#最大文件描述符
worker_rlimit_nofile 51200;

events {
worker_connections 51200;
}

http {
	include conf/mime.types;
	default_type application/octet-stream;
	keepalive_timeout 120;
	tcp_nodelay on;

	#nginx的upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,
	#如果后端服务器down掉,能自动剔除。另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,
	#这样每个访客固定访问一个后端服务器,可以解决session的问题。

	upstream webserver  {
		server 192.168.1.2:80 weight=1;
		server 192.168.1.3:80 weight=1;
	}
	server{
		listen 80;
		server_name localhost;
		location / {
			#设置反向代理的地址
			proxy_pass http://webserver;
			#设置主机头和客户端真实地址,以便服务器获取客户端真实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;
		}
		log_format localhost '$remote_addr - $remote_user [$time_local] $request '
		'"$status" $body_bytes_sent "$http_referer" '
		'"$http_user_agent" "$http_x_forwarded_for"';
		access_log /data1/logs/www.log localhost ;
	}
}
打赏

本文固定链接: https://www.cxy163.net/archives/3528 | 绝缘体

该日志由 绝缘体.. 于 2016年10月09日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Nginx反向代理和负载均衡实践 | 绝缘体
关键字: , , , ,

Nginx反向代理和负载均衡实践:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter