Порт 5000

February 13, 2017

Запустил тут рейлс сервер в форемане и удивился, что сервер запускается на порту 5000 вместо привычного 3000. Довольно быстро, понял, что фореман выдает порты своим приложениям, переопределяя переменную окружения PORT. То есть такой прокфайл:

# Procfile
web: rails s

запустит приложение на порту 5000, а такой:

web: PORT=3000 rails s

вернет сервер на привычные 3000.

В этой всей истории меня смутило, почему я раньше эту штуку не видел. Поковырявшишь в истории комитов, нашел нужный 306c14c4113, поддержка PORT была добавлена только в рейлс 5, поэтому и не видел. Душевное равновесие восстановлено.

PS. Переменная PORT стандартная для хероку, но пока рейлс не обращал внимания на эту переменную, вопрос решался магией билдпаков rails4.rb.

comments powered by Disqus