WedX - журнал о программировании и компьютерных науках

Ошибка Passenger 5.0.21: Не удается подключиться к ядру Passenger

У меня проблема с развертыванием RoR-приложения с помощью apache2+passenger. ОС похожа на debian Astra Linux. Аутентификация Kerberos с GSSAPI включена.

passenger-status показывает:

Version : 5.0.21
Date    : 2016-04-22 12:29:13 +0300
Instance: Dt5dmAVr (Apache/2.2.22 (Debian) mod_auth_kerb/5.4  Phusion_Passenger/5.0.21)

Phusion Passenger is currently not serving any applications.

При попытке доступа к странице приложения из браузера я получаю сообщение об ошибке в /var/log/apache2/error.log :

[ 2016-04-22 12:23:58.4672 21392/7f741705c780 age/Cor/CoreMain.cpp:234 ]: Passenger core running in multi-application mode.
[ 2016-04-22 12:23:58.4685 21392/7f741705c780 age/Cor/CoreMain.cpp:707 ]: Passenger core online, PID 21392
[ 2016-04-22 12:23:58.4897 21407/7f4819471780 age/Ust/UstRouterMain.cpp:504 ]: Starting Passenger UstRouter...
[ 2016-04-22 12:23:58.4912 21407/7f4819471780 age/Ust/UstRouterMain.cpp:317 ]: Passenger UstRouter online, PID 21407
[Fri Apr 22 12:23:58 2016] [notice] Apache/2.2.22 (Debian) mod_auth_kerb/5.4 Phusion_Passenger/5.0.21 configured -- resuming normal operations
[ 2016-04-22 12:24:18.0666 21428/7f3a64646780 apa/Hooks.cpp:703 ]: Unexpected error in mod_passenger: Cannot connect to the Passenger core at unix:/tmp/passenger.N6n3OMb/agents.s/core
  Backtrace:
     in 'Passenger::FileDescriptor Hooks::connectToCore()' (Hooks.cpp:305)
     in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:573)

С пассажиром-5.0.27 все выглядит так же.

Passenger был установлен как гем.

/etc/apache2/mods-enabled/passenger.load:

LoadModule passenger_module /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.21/buildout/apache2/mod_passenger.so

/etc/apache2/mods-enabled/passenger.conf:

<IfModule mod_passenger.c>
   PassengerRoot /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.21
   PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>

/etc/apache2/sites-enabled/myapp:

<VirtualHost *:80>
    ServerName myapp.ru
    ServerAlias www.myapp.ru
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/myapp/public
    RailsEnv production
    <Directory /var/www/myapp/public/>
        AuthType Kerberos
        KrbAuthRealms EXAMPLE.RU
        KrbServiceName HTTP/astra-server.example.ru
        Krb5Keytab /etc/apache2/keytab
        KrbMethodNegotiate on
        KrbMethodK5Passwd off
        require valid-user
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    LogLevel warn
</VirtualHost>

Любая помощь?


  • Для пассажира 4.0.60 у меня есть эта ошибка [2016-04-22 16:07:50.0106 29764/7eff74cbf780 apache2/Hooks.cpp:732]: непредвиденная ошибка в mod_passenger: не удается подключиться к вспомогательному агенту в /tmp/passenger.1.0 .29629/generation-1/request Backtrace: в 'Passenger::FileDescriptor Hooks::connectToHelperAgent()' (Hooks.cpp:291) в 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:546) 22.04.2016
  • Если это поможет найти ответ - apache2 использует режим prefork. пакет apache2-mpm-prefork установлен 22.04.2016

Ответы:


1

Мне помог параметр PassengerInstanceRegistryDir.

ОБНОВИТЬ

Целое решение для обработки сокетов Apache+Passenger на Astra Linux SE:

  • Пользователь Apache — www-данные (/etc/apache2/envvars)
  • Переключение пользователя пассажира включено (по умолчанию)
  • Каталог экземпляра Passenger перемещен в /var/passenger (параметр PassengerInstanceRegistryDir в /etc/apache2/mods-available/passenger.conf)
  • Специально для Astra Linux — пользователь www-data имеет привилегии Linux (CAP_SETGID, CAP_SETUID) и PARSEC (PARSEC_CAP_PRIV_SOCK, PARSEC_CAP_SETMAC). Эти привилегии можно установить с помощью команды usercaps.
  • Каталоги /var/www, /var/passenger принадлежат www-data
23.05.2016

2

Возможно, ваш каталог /tmp чем-то очищается. Проверьте, действительно ли каталог /tmp из журнала существует или нет, если вы видите ошибку. Это можно исправить, остановив очистку или изменив PassengerInstanceRegistryDir на другое место, чем /tmp.

Другая возможность заключается в том, что ваша оболочка каким-то образом завершает работу (Passenger использует оболочку для выполнения команд, что не удастся, если оболочка завершится преждевременно).

В любом случае установка PassengerLogLevel на 7 должна предоставить больше информации.

18.09.2017
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]