10
votes

Nginx 504 Gateway Time-Out

Je suis un projet Rails3.0.7 avec Passager de la Phusion sur Nginx. Pendant que je faisais un Ajax qui a pris environ 15 minutes à traiter. Il saute une erreur avec Firebug qui a déclaré "504 time-sortis" après 10 minutes d'appeler l'Ajax.

Quelqu'un pourrait-il me donner une idée de la façon dont je pouvais trouver le problème.

merci, ben

Environnement
  • OS: Mac OSX 10.6.7
  • Ruby: 1.9.2P180 installé avec RVM
  • GEM: 1.6.2
  • Passenger 3.0.7
  • Rails: 3.0.7
  • MySQL: 5.5.10 Installée avec Brew
  • NGinx: 1.0.0 Stand seul installé avec Passender


0 commentaires

4 Réponses :


7
votes

C'est une erreur de délai d'attente Nginx. Regardez l'article suivant pour certains indices sur quel paramètre vous devez ajuster pour éviter le délai d'attente, si vous souhaitez vraiment laisser plus de 10 minutes pour compléter la tâche.

Comment puis-je empêcher un délai de passerelle avec Nginx


0 commentaires

-6
votes

C'est une erreur de délai d'attente Nginx.


1 commentaires

Je me regarde comme une passerelle Nginx 504.



-1
votes

C'est un problème de la phalusion-passager. Vous devez modifier le fichier: (gemmes> passagers-3.0.18> ext> nginx> configuration.c) xxx

Le délai d'origine est 600000, à seulement 10 minutes. J'ai essayé de changer le nginx.conf, mais je n'ai pas fonctionné.


0 commentaires

5
votes

J'ai eu le problème similaire avec Rails 4 sur Mac OS X (Yosemite). J'ai donc ajouté le ci-dessous dans mon emplacement Nginx spécifique.

location /my_sub_path/ {
    root /my/rails/project/public/folder/path

    proxy_http_version 1.1;
    chunked_transfer_encoding off;
    proxy_buffering off;
    proxy_cache off;

    proxy_connect_timeout 43200000;
    proxy_read_timeout    43200000;
    proxy_send_timeout    43200000;

    proxy_redirect     off;
    proxy_set_header   Host             $http_host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_pass http://127.0.0.1:3000/;
}


1 commentaires

Alors, quelle est l'unité de temps utilisée ici? proxy_connect_timeout 43200000; Je suppose que ceci est en millisecondes et cela fera donc 12 heures de délai d'attente?