Вчера я пытался использовать эту команду heroku:
heroku run db:migrate
и после долгого ожидания он сказал, что истекло время ожидания
После многих попыток я погуглил об этом и обнаружил, что, поскольку другие команды дали такой же ответ, проблема заключалась в том, что мой компьютер (или моя сеть?) не открывал порт 5000.
Могу ли я открыть это? Как в Ubuntu?
Если он публикуется для моего провайдера, я где-то читал, что, возможно, я могу внести этот список в белый список: могу ли я сделать это из Ubuntu? Как?
Вы открываете порт с помощью программы. Операционная система предоставляет вам примитивы, что обычно делается на уровне ОС, чтобы позволить порту принимать соединения. Для этого вам может потребоваться настроить брандмауэр или даже SELinux, в зависимости от вашей установки (хотя я не видел стандартной установки Ubuntu, приносящей какой-либо из них). @ Андреа указал, что вам не нужно специального разрешения для программы, если она хочет открыть порт. Опять же, это программа, сервер, который будет прослушивать порт. Любое сетевое взаимодействие, использующее протокол с установлением соединения (например, TCP / IP), требует наличия порта прослушивающего сервера и подключающегося клиента. Я не знаю Heroku, но, судя по вашей команде, вы пытаетесь перенести базу данных из одного места в другое. Это зависит от того, открыли ли вы два соединения: одно для извлечения данных, а другое для записи. Если вы намереваетесь получать соединения из Интернета, вам нужен порт с общедоступным IP-адресом, который поступает на порт 5000 вашего сервера. Если вы считаете, что у вас установлена правильная установка, попробуйте следующую команду:
sudo netstat -tnlp
Она должна дать вам что-то вроде этого: , слушая порт 22. У вас должно быть что-то подобное, для порта 5000. В таком случае попробуйте подключиться из своей внутренней сети к IP-адресу сервера и выяснить, как открыть его в Интернете. Вы можете сделать это с помощью команды 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.
Если вы получили слово «Подключен», значит ваш порт жив и работает :) Это пример прослушивания SSH-сервера, ваш вывод heroku должен отличается.