设置nginx以在504错误的情况下使用另一个网关

时间:2014-05-07 08:53:33

标签: node.js nginx

我收到了以下nginx个配置:

server {
    listen 80;
    server_name domainName.com;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/rss+xml text/javascript image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype;
    access_log /var/log/nginx/logName.access.log;
    location / {
        proxy_pass    http://127.0.0.1:9000/;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location ~ ^/(min/|images/|ckeditor/|img/|javascripts/|apple-touch-icon-ipad.png|apple-touch-icon-ipad3.png|apple-touch-icon-iphone.png|apple-touch-icon-iphone4.png|generated/|js/|css/|stylesheets/|robots.txt|humans.txt|favicon.ico) {
          root /root/Dropbox/nodeApps/nodeJsProject/port/public; 
          access_log off;
          expires max;
        }
}

它是端口node.js9000应用程序的代理。

是否可以更改此配置,以便nginx获取9001 nginx使用其他代理网址(例如,在端口504上)错误。

如果node.js服务器在端口9000上关闭并且需要几秒钟自动重启,并且几秒钟nginx为每个请求提供504错误,我需要这样做。我希望nginx“猜测”端口node.js上的9000网站已关闭并在端口9001上使用reserve node.js网站

1 个答案:

答案 0 :(得分:1)

使用upstream模块。

upstream node {
    server 127.0.0.1:9000;
    server 127.0.0.1:9001 backup;
}

server {
...
    proxy_pass http://node/;
...
}