node - nginx 当反向服务器挂掉时的策略
黄舟
黄舟 2017-05-16 17:15:11
0
2
440

做 node 同构时,现在想实现让服务器挂调的时候,直接让 nginx 返回静态资源,请问该如何配置 nginx 呢?

比如访问 a.xx.com/test.html,
当 node 服务器挂掉后,直接让nginx返回test.html的静态文件,这个有办法实现吗?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
曾经蜡笔没有小新

使用proxy_intercept_errors + error_page 可以解决您的问题。
error_page 504 /$uri
504即为proxy出现超时的情况

phpcn_u1582

我们原来在做发布的时候遇到过你的这个问题,当我们在做发布的时候需要停掉服务
但是希望有个友好的页面提示用户我们正在服务请稍后再试。我们利用nginx的负载
均衡,启两个服务,10.0.0.2跑得是提示用户我们正在发版本的提示用户用的服务

upstream my_server {                                                         
    server 10.0.0.1:8080 weight=10;
    server 10.0.0.2:8080 backup;   //当其它服务器挂掉的时候才会负载到这台                                             
    keepalive 2000;
}
server {
    listen       80;                                                         
    server_name  www.test.com;                                               

    location / {
        proxy_pass http://my_server;
    }
}

不过我们现在已经在利用slb做G/B发不了,发布期间服务不会停。希望能帮到你,nginx我也不是很精通,希望有更巧妙的方法解决这个问题,其实如果自己写Lua脚本的话就能做一些定制化的功能了,要考虑下你们的团队和时间,觉得可以做的话其实是最好的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板