搜尋

首頁  >  問答  >  主體

node - nginx 當反向伺服器掛掉時的策略

做 node 同構時,現在想實作讓伺服器掛調的時候,直接讓 nginx 回傳靜態資源,請問該如何設定 nginx 呢?

例如訪問 a.xx.com/test.html,
當 node 伺服器掛掉後,直接讓nginx回傳test.html的靜態文件,這個有辦法實現嗎?

黄舟黄舟2875 天前525

全部回覆(2)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:17:11

    使用proxy_intercept_errors + error_page 可以解決您的問題。
    error_page 504 /$uri
    504即proxy出現逾時的情況

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 17:17:11

    我們原來在做發布的時候遇到過你的這個問題,當我們在做發布的時候需要停掉服務
    但是希望有個友好的頁面提示用戶我們正在服務請稍後再試。我們利用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腳本的話就能做一些定制化的功能了,要考慮下你們的團隊和時間,覺得可以做的話其實是最好的。

    回覆
    0
  • 取消回覆