引言
今天给我出了个难题,我们这儿一共有两台应用服务器,现在要做负载均衡,但是每台服务器都有一个后端应用,当在服务器A生成了一个文件,下载的话,如果nginx轮询到了B,那么一定会下载失败的。此时可以通过nginx的try_files 来解决这个问题。画了一个草图,是这样的。

配置nginx
server{
listen 80 default_server;
server_name localhost;
location / {
root /usr/www/html;
index index.html;
try_files $uri $uri/index.html @s12; # 访问uri,如果不存在,访问uri/index.html 如果还没有就代理s12
}
location @s12 { # 这儿只是一个简单的代理
add_header Cache-Control no-cache;
proxy_intercept_errors on;
proxy_pass http://14.**.**.12;
}
}
同理,在另一台服务器上的nginx也要配置,只是其中的地址改成刚刚的那台服务器。
以文章开头的那张图来说,如果用户访问的是server-2的话,也是相同效果。
结语
nginx 真强大

评论 0
还没有评论,来说点什么吧。