Я пробовал эти 3 подхода к хостингу для своего приложения Rails, и что бы я ни делал, я не могу получить последовательное ведение журнала при запуске в производственной среде.
Для своих тестов я создал пустое приложение и попытался получить доступ к корневому каталогу. Затем я бы добавил эшафот пользователей и разгребал базу данных.
Если я переведу RAILS_ENV в режим разработки, log/devlopment.log будет работать нормально, записывая все, что я ожидал.
Когда я запускаю RAILS_ENV в рабочую среду, log/production.log регистрируется странным образом. В Passenger я получаю первую ошибку маршрутизации. Тогда ничего. Когда я перезапускал apache или nginx, я получал все ошибки маршрутизации, которые я вызвал с момента первой (зарегистрированной), затем журнал не мог записать ничего нового, пока я не перезапустил базовый сервер. apache2/error.log будет зарегистрирован, если у меня возникнут проблемы с конфигурацией. Тогда он только регистрирует промахи кеша
С Thin и Unicorn я получаю ошибки только о статических ресурсах (я не компилировал их заранее). После того, как я предварительно скомпилировал активы, сообщения в журнале больше не появлялись.
Во всех трех настройках я получал сообщения о предварительной компиляции (когда запускал assets:precompile) в файле production.log (указывая, что Rails может по крайней мере записывать в журнал).
У кого-нибудь есть приложение Rails 3.2.1, работающее на одном из гемов развертывания (Passenger, Thin или Unicorn), которое правильно регистрируется в производственном режиме? Я потратил на это 5 дней. У меня нет идей.