Nginx的反向代理 负载均衡 动静分离 高可用 配置

在ubuntu下安装Nginx:

sudo apt install nginx

nginx的配置文件有两个:

/etc/nginx/nginx.conf
/etc/nginx/sites-enabled/default

在server块中增加配置,设置反向代理:

server{
	listen 9001;
	server_name 127.0.0.1;
	location ~ /edu/ {
		proxy_pass http://127.0.0.1:8080;
	}
	location ~ /vod/ {
		proxy_pass http://127.0.0.1:8081;
	}
}

  

增加server块,设置负载均衡:

server{
	listen 9002;
	server_name 127.0.0.1;
	location / {
		proxy_pass http://myserver;
	}
}  

其中的myserver是在http块中增加的配置:

	upstream myserver{
		server 127.0.0.1:8080 weight=10;
		server 127.0.0.1:8081 weight=5;
	}

其中,weight是权重,默认为1,权重越大,分配到的客户端就越多。

weight权重分配是一种方法,还有其他分配方法。

ip_hash

	upstream myserver{
		ip_hash;
		server 127.0.0.1:8080;
		server 127.0.0.1:8081;
	}

每个请求按照访问ip的hash结果分配,这样每个访客固定访问一个后端服务器。可以解决session的问题。

但是相应带来的问题就是:如果这台服务器挂了,那么这台服务器上面保存的所有的session全部丢失。

fair

	upstream myserver{
		fair;
		server 127.0.0.1:8080;
		server 127.0.0.1:8081;
	}

按后端服务器的响应时间来分配请求,响应时间短的优先分配

注意:在1.3版本之后,可以同时使用ip_hash和weight

动静分离配置:

在default中的server块中增加location块

	location /a/ {
		root /data/;
	}

	location /image/ {
		root /data/;
		autoindex on;
	}

其中,autoindex的作用是显示访问目录

有时候会无法生效,可能是缓存原因,建议强制刷新。

---------------------

高可用以后有空再写