"Неполный ответ, полученный от заявки" от nginx / пассажира
Я попытался развернуть приложение rails на nginx и ubuntu через capistrano, как учебник на странице https://gorails.com/deploy/ubuntu/14.04. но в конце я получаю сообщение об ошибке:
Incomplete response received from application
в моем браузере. вероятно, это ошибка пассажира, но как я могу понять, что делать?
7 ответов
ваша продукция rails_env не требует настройки, вероятно, отсутствует secret_key_base.
открыть /etc/nginx/sites-available/default
и измените rails_env на development:
rails_env production;
to
rails_env development;
если приложение загружается, это не проблема пассажира.
Производственное Решение:
- введите корень приложения
- run:
rake secret
- скопировать вывод
- на
/yourapp/config/secrets.yml
- установка производства
secret_key_base
перезапустите пассажирское приложение:
touch /yourapp/tmp/restart.txt
эта ошибка возникает, потому что вы не установили secret_key_base. Выполните следующие действия, чтобы исправить это:
перейдите в каталог приложений rails
cd /path/rails-app
создать базу секретных ключей
rake secret RAILS_ENV=production
установить переменную среды
SECRET_KEY_BASE=<the-secret-key-base>
перезапустите приложение Rails
touch /path/rails-app/tmp/restart.txt
для тех, кто использует пассажира:
• перейдите к корню вашего проекта.
• run bundle exec rake secret RAILS_ENV=production
• скопируйте вывод, а затем запустите sudo nano config/secrets.yml
• под production
замените значение secret_key_base
С недавно скопированным секретом рейка.
• нажмите клавишу CNTRL+X
, нажмите клавишу y
, затем нажмите enter
.
• run passenger-config restart-app
и выберите приложение, которое вы хотите перезапуск.
https://www.phusionpassenger.com/library/admin/apache/restart_app.html
в моем случае это было потому, что мой сервер периодически заканчивался ОЗУ (во время генерации PDF). После создания PDF-файла была восстановлена некоторая ОЗУ, и ошибка исчезнет.
У меня был сервер ubuntu с 500M ОЗУ.
Я добавлено пространство подкачки и эта ошибка исчезла.
У меня была эта проблема в выходные дни (оказалось, что между моими версиями passenger и ruby была несовместимость).
однако, кажется, никто не упоминает:фактическая ошибка может появиться в /var/log/apache2 / errors.log, не в любом пользовательском журнале.
Как только вы это узнаете, надеюсь, ваш поиск будет проще!
может быть мой ответ не в тему, но когда моя база данных mysql
сервер не работает, я тоже получил эту ошибку. На случай, если у кого-то такая же ошибка.
так start/restart
ваша база данных может быть другим ответом.
Это означает, что ваше приложение rails заглохло, прежде чем фактически добраться до rails. Это может быть исключением в промежуточном по, отсутствует ключ ENV, что-то на уровне ОС.
попробуйте сначала загрузить приложение локально и сделать то, что вы сделали, чтобы получить ошибку в производстве. Если все в порядке, проверьте все ваши журналы. Проверьте журналы nginx, журналы пассажиров и, наконец, любые другие журналы ОС, относящиеся к загрузке и запуску вашего приложения.