EC2, Ubuntu, RVM, Rails, Passageiro, Apache - solicita ao meu domínio apenas o tempo limite

1

Problema: Acredito ter feito tudo o que é necessário para implantar meu aplicativo, mas quando vou para meu novo URL, recebo uma mensagem de "página de carregamento de problema, o servidor demorou muito para responder" do navegador.

Estatísticas:

  • Estou implantando pelo EC2 pela primeira vez.
  • Eu tenho uma instância em execução com o Ubuntu 12.04, com um IP elástico associado
  • o RVM está instalado; Estou rodando o Ruby 1.9.3-p194 e o Rails 3.2.6
  • Eu passei pelo instalador do Passenger, instalei os pacotes do apache conforme as instruções e editei arquivos conf.
  • Comprei também um nome de domínio da namecheap.com e listei o IP elástico do EC2 com eles como host.
  • Meu aplicativo está em / var / www (por exemplo, minha pasta 'app' está em / var / www / app e assim por diante)
  • Não sei se isso é relevante, mas usei o git para colocar meu aplicativo no servidor.

EDITAR: Graças aos comentadores, consegui refinar o problema: é algo relacionado à segurança na minha instância do EC2 - as solicitações nunca chegam ao Apache2.

Meu grupo de segurança é um que eu mesmo criei (não "padrão") e tem três regras, todas em TCP: 1) permitem o acesso SSH na porta 22; 2) permitir acesso HTTP na porta 80; 3) permitir acesso HTTPS na porta 443. Os IPs permitidos são 0.0.0.0/0 para todos.

Eu talvez precise de mais regras? O SSH funciona bem.

Aqui está o resultado de uma varredura de portas:

    $ nmap -P0 -p80 ec2-xx-xx-x-xxx.compute-1.amazonaws.com
    Starting Nmap 5.21 ( http://nmap.org ) at 2012-07-16 18:16 UTC
    Nmap scan report for ec2-xx-xx-x-xxx.compute-1.amazonaws.com (yy.yy.yyy.yyy)
    Host is up.
    rDNS record for yy.yy.yyy.yyy: ip-yy.yy.yyy.yyy.ec2.internal
    PORT   STATE    SERVICE
    80/tcp filtered http

    Nmap done: 1 IP address (1 host up) scanned in 2.05 seconds

E:

    $ sudo ufw status
    Status: inactive

Mais uma vez, obrigado por qualquer ajuda.

    
por Becky Russoniello 16.07.2012 / 14:27

2 respostas

1

Então, descobriu-se que o problema era na verdade com o Passenger.

Meu conselho para futuros Googlers com um problema misterioso semelhante: coloque um arquivo index.html em seu diretório público (por exemplo, a página padrão do Ruby on Rails ou o Apache 'funciona!') e veja se sua instância atende .

Para mim, presumi que, se o erro fosse com o Passenger ou Rails, eu teria pelo menos algum tipo de página de erro, em vez de um tempo limite. Eu aprendi isso não é necessariamente assim.

De qualquer forma, descobriu-se que o g ++ (compilador C do GNU) não estava conseguindo compilar alguns arquivos para o Passenger. Desinstalar e reinstalar cada um não ajudou. Depois de algumas pesquisas sobre as alternativas, eu usei Unicorn , e meu aplicativo está em funcionamento.

    
por 21.07.2012 / 21:03
1

Dos comentários e do seu processo de due diligence, parece que você fez tudo certo. O fato de seu servidor não estar respondendo sugere que você perdeu algo pequeno no processo que é difícil de encontrar do lado de fora.

Uma coisa sobre sua descrição que gera sinalizadores de aviso para mim é a grande quantidade de software que você instalou e configurou antes de testar o serviço básico. Particularmente, como esta é a primeira vez que você implementa uma instância do EC2, sugiro que você gaste algumas horas para criar uma nova instância do zero como um testbed, para ver se você pode reproduzir o problema ou ir além:

  1. Crie uma nova micro instância do Ubuntu 12.04, puramente como um testbed
  2. Atribua-o ao seu grupo de segurança personalizado para que ele use a mesma segurança
  3. Atribuir um novo ElasticIP (temporário) (sem DNS, nome de domínio, etc.)
  4. Inicie o Apache apenas. Não instale nenhum outro software (ruby, RVM, Passenger, etc)

Com a configuração básica e suas regras de segurança, você deve ser capaz de acessar a página padrão do Apache "It Works" no ElasticIP temporário. Somente depois de obter o servidor da Web respondendo corretamente, você deve fazer o resto da sua instalação.

    
por 19.07.2012 / 22:21