Ruby on rails 乘客5.0.21错误:无法连接到乘客核心

Ruby on rails 乘客5.0.21错误:无法连接到乘客核心,ruby-on-rails,apache,debian,passenger,kerberos,Ruby On Rails,Apache,Debian,Passenger,Kerberos,我在使用apache2+乘客部署RoR应用程序时遇到问题。 操作系统是debian,就像Astra Linux一样。 已启用带有GSSAPI的Kerberos身份验证 乘客状况显示: 尝试从浏览器访问应用程序页面时,我在/var/log/apache2/error.log中收到错误消息: 对于乘客-5.0.27,一切看起来都一样 乘客被安装为gem /etc/apache2/mods启用/乘客负载: /etc/apache2/mods enabled/passenger.conf: Passe

我在使用apache2+乘客部署RoR应用程序时遇到问题。 操作系统是debian,就像Astra Linux一样。 已启用带有GSSAPI的Kerberos身份验证

乘客状况显示:

尝试从浏览器访问应用程序页面时,我在/var/log/apache2/error.log中收到错误消息:

对于乘客-5.0.27,一切看起来都一样

乘客被安装为gem

/etc/apache2/mods启用/乘客负载:

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


PassengerRoot/usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.21
PassengerDefaultRuby/usr/local/bin/ruby
/etc/apache2/sites enabled/myapp:


ServerName myapp.ru
ServerAlias www.myapp.ru
服务器管理员webmaster@localhost
DocumentRoot/var/www/myapp/public
RailsEnv生产
身份验证类型Kerberos
KrbAuthRealms EXAMPLE.RU
KrbServiceName HTTP/astra-server.example.ru
Krb5Keytab/etc/apache2/keytab
KrbMethodNegotiate on
KrbMethodK5Passwd关闭
需要有效用户
选项索引跟随符号链接多视图
不允许超限
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
日志级别警告
有什么帮助吗?

选项帮助了我

更新 Astra Linux SE上Apache+乘客套接字处理的完整解决方案:

  • Apache用户-www-data(/etc/apache2/envvars)
  • 乘客用户开关打开(默认情况下)
  • 乘客实例目录移动到/var/Passenger(在/etc/apache2/mods available/Passenger.conf中的PassengerInstanceRegistryDir选项)
  • Astra Linux专用-www数据用户拥有Linux(CAP_SETGID,CAP_SETUID)和PARSEC(PARSEC_CAP_PRIV_SOCK,PARSEC_CAP_SETMAC)特权。可以通过
    usercaps
    命令设置此权限
  • 目录/var/www、/var/passenger归www-data所有

    • 可能是您的/tmp目录被某个东西清理了。如果看到错误,请检查日志中的/tmp目录是否确实存在。您可以通过停止清理或将更改到/tmp以外的其他位置来解决此问题

      另一种可能是您的shell以某种方式退出(乘客使用shell执行命令,如果shell过早退出,命令将失败)


      无论哪种方式,将PassengerLogLevel设置为7都会提供更多信息。

      对于passenger 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:in'passenger::FileDescriptor Hooks::connectToHelperAgent()'(Hooks.cpp:291)的助手代理(Hooks.cpp:546),如果它有助于找到答案-apache2使用预工作模式。已安装apache2 mpm预工作包
      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.
      
      [ 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)
      
      LoadModule passenger_module /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.21/buildout/apache2/mod_passenger.so
      
      <IfModule mod_passenger.c>
         PassengerRoot /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.21
         PassengerDefaultRuby /usr/local/bin/ruby
      </IfModule>
      
      <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>