Loading... # 引言 今天给我出了个难题,我们这儿一共有两台应用服务器,现在要做负载均衡,但是每台服务器都有一个后端应用,当在服务器A生成了一个文件,下载的话,如果nginx轮询到了B,那么一定会下载失败的。此时可以通过nginx的try_files 来解决这个问题。画了一个草图,是这样的。 ![image.png](https://www.zunmx.top/usr/uploads/2022/09/2786366810.png) # 配置nginx ```properties 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 真强大 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏