Я знаю, что это старый пост, но мне потребовалось некоторое время, чтобы выяснить, так что я мог бы добавить сюда примечание.
Мастер увеличивает PORT в зависимости от того, где вы определяете службу в Procfile.
Скажем, наша переменная окружения PORT установлена на 3000.
В нашем первом примере с Procfile Puma будет работать на PORT 3000:
web: bundle exec puma -q -p $PORT
worker: bundle exec rake jobs:work
Но во втором нашем Procfile он будет работать на PORT 3100, поскольку переменная PORT используется во второй строке.
worker: bundle exec rake jobs:work
web: bundle exec puma -q -p $PORT
Не знаю, почему, я думаю, чтобы разные процессы не пытались использовать один и тот же ПОРТ.