РЕДАКТИРОВАТЬ : Я думаю, что procfile
также должен запускать Nginx:
web: bin/start-nginx bundle exec puma -C config/puma.rb
Помните, что для пакета сборки nginx вы должны отключить режим демона в nginx.conf
:
daemon off;
EDIT2 : если эта строка не работает, попробуйте запустить Nginx напрямую (это взлом, не проверено)):
web: bin/nginx -p . -c config/nginx.conf & ; bundle exec puma -C config/puma.rb
Такжеубедитесь, что журналы nginx направляются на стандартный вывод, поместив его в nginx.conf
:
daemon off;
error_log /dev/stdout info;
http {
access_log /dev/stdout;
...
}
ORIGINAL :
В документации по пакету сборки указано:
Как правило, для веб-серверов, которые не предназначены для эффективного неблокирующего ввода-вывода, нам будет полезно иметь NGINX для обработки всех операций ввода-вывода
ОднакоPuma - эффективный неблокирующий сервер ввода-вывода. Вы должны иметь возможность использовать его непосредственно на Heroku dyno.
Самое большое преимущество, которое Nginx может предложить серверу Puma, - это работа со статическими файлами - что ваша конфигурация не выполняет.
Если вы не используете Nginx для статических файлов, вы можете пропустить дополнительные задержки, добавив прокси-сервер Nginx. Кроме того, функции безопасности Heroku должны (но не могут) охватывать все базы, которые Nginx может предложить вам на данный момент.
Если вам нужна дополнительная скорость для статических файлов - некоторые серверы Ruby (такие как йод или agoo ) обеспечивают быструю статическую файловую службу, позволяющую пропустить слой Nginx и уменьшить задержку.