Пассажир на nginx не запускается после обновления до 5.3.0 с «Ошибка подтверждения» в SpawnEnvSetupperMain - PullRequest
0 голосов
/ 11 мая 2018

Я использую приложение Rails (ruby 2.4.4, rails 4.2), используя Phusion Passenger и nginx. Ранее это приложение работало нормально.

После запуска:

sudo apt-get update
sudo apt-get upgrade

и в результате обновления Phusion Passenger до версии 5.3.0, приложение не запускается, когда я захожу на веб-страницу, и я получаю это в журнале:

App 12172 output: Assertion failed! src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp:756: void execNextCommand(const Passenger::SpawnEnvSetupper::Context&, const string&): !shell.empty()
[ E 2018-05-11 17:43:00.0707 1144/T108 age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/<app>/current: The application process exited prematurely.
  Error ID: e8a7e2db
  Error details saved to: /tmp/passenger-error-iL7WYm.html

[ E 2018-05-11 17:43:00.0742 1144/T8 age/Cor/Con/CheckoutSession.cpp:276 ]: [Client 1-130] Cannot checkout session because a spawning error occurred. The identifier of the error is e8a7e2db. Please see earlier logs for details about the error.

Есть идеи?

1 Ответ

0 голосов
/ 11 мая 2018

На самом деле я думаю, что нашел причину здесь.Ключом был !shell.empty() в конце строки ошибки.

Я проверил /etc/passwd и обнаружил, что для пользователя, под которым работает Passenger, не определена оболочка.В моем случае это пользователь deploy, поэтому я сделал:

sudo usermod -s /bin/bash deploy
sudo service nginx restart

Это решило проблему, и теперь приложение запускается правильно.

...