Nginx e PHP-cgi – não pode arquivar_conjuntos de conteúdo de qualquer site no servidor

Este é melhor explicado pelo código que eu acho. No diretório web:

vi get.php 

Adicione este php para get.php

  

IPOFTHESERVER é o IP do servidor no qual o nginx e o PHP estão sendo executados.

 php get.php 

Retorna o conteúdo do site (padrão) hospedado nesse IP, MAS

http: //IPOFTHESERVER/get.php

… retorna um 504 Gateway Time-out . É o mesmo com curl. É o mesmo usando o comando exec do PHP e GET. No entanto, a partir da linha de comando diretamente, tudo funciona bem.

Eu replicado em dois servidores nginx. Por alguma razão, o nginx não me permite fazer uma conexão HTTP com o servidor em execução, via PHP (a menos que seja pela linha de comando).

Alguém conseguiu alguma ideia por quê?

Obrigado!

Certifique-se de que você não está executando a depleção do trabalhador no lado do PHP de coisas, este foi o problema na configuração do meu servidor de laboratório que foi configurado para salvar a RAM.

Basicamente eu esqueci que o seu uso de um único trabalhador para processar a página principal foi exibido para o usuário final, então a function get_file_contents () está basicamente gerando uma solicitação HTTP separada para o mesmo servidor web, exigindo efetivamente 2 trabalhadores para uma única carga de página .

Como a primeira página estava usando o último trabalhador, não havia nenhum disponível para a function get_file_contents, portanto Nginx eventualmente respondeu com um 504 na primeira página porque não havia resposta na solicitação de proxy reverso.

Verifique se allow_url_fopen está definido como verdadeiro no seu php.ini.