做 node 同構(gòu)時(shí),現(xiàn)在想實(shí)作讓伺服器掛調(diào)的時(shí)候,直接讓 nginx 回傳靜態(tài)資源,請問該如何設(shè)定 nginx 呢?
例如訪問 a.xx.com/test.html,
當(dāng) node 伺服器掛掉後,直接讓nginx回傳test.html的靜態(tài)文件,這個(gè)有辦法實(shí)現(xiàn)嗎?
人生最曼妙的風(fēng)景,竟是內(nèi)心的淡定與從容!
使用proxy_intercept_errors + error_page 可以解決您的問題。
error_page 504 /$uri
504即proxy出現(xiàn)逾時(shí)的情況
我們原來在做發(fā)布的時(shí)候遇到過你的這個(gè)問題,當(dāng)我們在做發(fā)布的時(shí)候需要停掉服務(wù)
但是希望有個(gè)友好的頁面提示用戶我們正在服務(wù)請稍後再試。我們利用nginx的負(fù)載
均衡,啟兩個(gè)服務(wù),10.0.0.2跑得是提示用戶我們正在發(fā)版本的提示用戶用的服務(wù)
upstream my_server {
server 10.0.0.1:8080 weight=10;
server 10.0.0.2:8080 backup; //當(dāng)其它服務(wù)器掛掉的時(shí)候才會負(fù)載到這臺
keepalive 2000;
}
server {
listen 80;
server_name www.test.com;
location / {
proxy_pass http://my_server;
}
}
不過我們現(xiàn)在已經(jīng)在利用slb做G/B發(fā)不了,發(fā)布期間服務(wù)不會停。希望能幫到你,nginx我也不是很精通,希望有更巧妙的方法解決這個(gè)問題,其實(shí)如果自己寫Lua腳本的話就能做一些定制化的功能了,要考慮下你們的團(tuán)隊(duì)和時(shí)間,覺得可以做的話其實(shí)是最好的。