Abra a porta 5000?

4

Ontem eu tentei usar este comando heroku:

heroku run db:migrate

e depois de uma longa espera, disse que estava em tempo limite

Depois de muitas tentativas eu pesquisei sobre isso e descobri que, já que outros comandos deram a mesma resposta, o problema é que meu pc (ou minha net?) não tem a porta 5000 aberta.

Posso abrir isso? Como no Ubuntu?

Se ele for relembrado ao meu providere, eu li em algum lugar que provavelmente eu posso colocar essa porta na lista de permissões: posso fazer isso no Ubuntu? Como?

    
por Matteo Pagliazzi 28.02.2012 / 16:42

1 resposta

2

Você abre uma porta com um programa. O sistema operacional fornece primitivas para você fazer isso, o que geralmente é feito no nível do sistema operacional para permitir que a porta aceite conexões. Para isso, você pode precisar configurar o firewall ou mesmo o SELinux, dependendo da sua instalação (mesmo que eu não tenha visto a instalação padrão do Ubuntu trazendo nada disso). @ Andrea salientou que você não precisa de permissão especial para o programa se quiser abrir a porta. Novamente, este é um programa, um servidor, que estará escutando em uma porta. Qualquer comunicação de rede, usando o protocolo orientado a conexões (como o TCP / IP), precisa de uma porta do servidor de escuta e de um cliente de conexão. Eu não sei Heroku, mas eu acho que pela aparência do comando que você postou, você está tentando migrar um banco de dados de um lugar para outro. Isso depende se você abrir duas conexões, uma para extrair os dados e outra para gravar. Se você pretende receber conexões da Internet, precisará de uma porta em um IP público, que chega à porta 5000 de sua máquina servidora. Se você acha que tem uma instalação correta, tente este comando:

sudo netstat -tnlp 

Deve ser algo como esta saída:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      940/sshd   

Este é o caso, para um servidor SSH, escutando na porta 22. Você deve ter algo semelhante, para a porta 5000. Nesse caso, tente conectar-se da sua rede interna ao IP do servidor e, em seguida, descubra como abri-lo na Internet. Você pode fazer isso com o comando telnet:

$ telnet 192.168.1.1 22
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
^\
Connection closed by foreign host.

Se você recebeu a palavra "Conectado", sua porta está viva e funcionando :) Este é um exemplo para uma escuta do servidor SSH, sua saída do heroku deve ser diferente.

    
por Awi 04.05.2012 / 21:59