it-swarm-pt.com

"Resposta incompleta recebida de uma aplicação" de nginx/passageiro

Eu tentei implantar meu aplicativo Rails no nginx e Ubuntu via Capistrano como o tutorial na página https://gorails.com/deploy/ubuntu/14.04 . mas no final eu recebo uma mensagem de erro: 

Incomplete response received from application

no meu navegador. isso é provavelmente um erro do passageiro, mas como posso descobrir o que fazer?

61
juicy

Sua produção Rails_env não precisa ser configurada, provavelmente faltando secret_key_base.

Abra /etc/nginx/sites-available/default e mude o Rails_env para o desenvolvimento:

Rails_env production;
        to
Rails_env development;

Se o aplicativo estiver carregando, não é um problema de passageiro.

Solução de Produção:

  1. Insira o seu aplicativo root
  2. run: rake secret
  3. copie a saída
  4. vá para /yourapp/config/secrets.yml
  5. definir a produção secret_key_base

Reinicie o aplicativo do passageiro: 

touch /yourapp/tmp/restart.txt
119
Yaniv Vova Alterman

Este erro ocorre porque você não definiu o secret_key_base. Siga estas etapas para corrigi-lo:

Vá para o diretório do seu aplicativo Rails

cd /path/Rails-app

Gerar base de chave secreta

rake secret Rails_ENV=production

Definir variável de ambiente

SECRET_KEY_BASE=<the-secret-key-base>

Reinicie o aplicativo Rails

touch /path/Rails-app/tmp/restart.txt
24
Hoa Hoang

Para aqueles que usam Passenger: 

• Navegue para a raiz do seu projeto.

• executar bundle exec rake secret Rails_ENV=production

• Copie a saída e, em seguida, execute Sudo nano config/secrets.yml

• Em production, substitua o valor do secret_key_base pelo segredo do rake recentemente copiado.

• pressione CNTRL+X, depois pressione y e, em seguida, pressione enter.

• execute passenger-config restart-app e selecione o aplicativo que você deseja reiniciar.

https://www.phusionpassenger.com/library/admin/Apache/restart_app.html

4
Ctpelnar1988

Eu tive esse problema no fim de semana (descobriu-se que havia uma incompatibilidade entre minhas versões de passageiros e Ruby). 

No entanto, ninguém parece estar mencionando: o erro real pode aparecer em /var/log/Apache2/errors.log , não em qualquer log personalizado.

Uma vez que você saiba disso, esperamos que sua busca seja mais fácil!

4
user208769

No meu caso, foi porque meu servidor estava ficando sem RAM intermitentemente (durante a geração PDF). Depois que o PDF foi gerado, algum RAM foi restaurado e o erro desapareceria. 

Eu tinha um servidor Ubuntu com 500M de RAM.

Eu adicionado algum espaço de troca e esse erro desapareceu. 

2
mridula

Pode ser que minha resposta esteja fora do tópico, mas quando meu servidor mysql do banco de dados não está em execução, também recebi esse erro. Apenas no caso de alguém ter o mesmo erro.

então start/restart seu banco de dados pode ser outra resposta.

0
William Hu

Existe alguém como eu que recebeu este erro depois de fazer o upload de um arquivo?

Minha solução é verificar o nome do arquivo que pode ter alguns caracteres especiais como `[(~ .

Basta removê-lo e fazer o upload do arquivo novamente.

Boa sorte ~

0
fanjieqi

Isso significa que o seu aplicativo Rails despachou antes de chegar ao próprio Rails. Isso poderia ser uma exceção no middleware, falta de chave ENV, algo no nível do sistema operacional. 

Tente inicializar o aplicativo localmente primeiro e fazer o que você fez para obter o erro na produção. Se tudo estiver bem, verifique todos os seus registros. Verifique os logs do nginx, seus registros de passageiros e, finalmente, quaisquer outros logs específicos do sistema operacional relacionados à inicialização e à execução do aplicativo.

0
jeremywoertink