红宝石 – 乘客:内部服务器错误
发布时间:2020-12-16 20:19:06 所属栏目:百科 来源:网络整理
导读:我安装了Apache,Passenger和Sinatra并部署了一个应用程序.尝试访问时出错: An error occurred while starting up the preloader: it did not write a startup response in time.Application root /var/www/html/testEnvironment (value of RAILS_ENV,RACK_E
我安装了Apache,Passenger和Sinatra并部署了一个应用程序.尝试访问时出错:
An error occurred while starting up the preloader: it did not write a startup response in time. Application root /var/www/html/test Environment (value of RAILS_ENV,RACK_ENV,WSGI_ENV and PASSENGER_ENV) production Ruby interpreter command /usr/local/bin/ruby User and groups Unknown Environment variables Unknown Ulimits Unknown 我该如何解决? 编辑 在应用程序日志中,我发现这一行错误: !> Ready !> socket: unix:/tmp/passenger.1.0.14019/generation-0/backends/preloader.14049 !> 宝石列表: bigdecimal (1.2.0) builder (3.2.0) bundler (1.3.1) daemon_controller (1.1.1) fastthread (1.0.7) io-console (0.4.2) json (1.7.7) minitest (4.3.2) passenger (4.0.0.rc4) psych (2.0.0) rack (1.5.2) rack-protection (1.4.0) rake (0.9.6) rdoc (4.0.0) sequel (3.45.0) sinatra (1.3.5) test-unit (2.0.0.0) tilt (1.3.4) 系统版本: Ruby 2.0 Apache 2.2 Amazon EC2 Instance 该应用程序运行正常与Ruby 1.9和乘客3.0.我刚刚升级到2.0,而Passenger 3.0甚至没有编译正确.他们建议我使用Passenger Pre 4.0,它编译好,但不运行应用程序… 解决方法
我发现答案是在我的情况下造成的.在我的config.ru我正在重定向STDOUT像这样:
log = File.new("logs/std.log","a+") STDOUT.reopen(log) 将重定向删除到日志中,并重新启动. 看起来乘客需要STDOUT来检测工作的“预加载器”. 编辑:我正在使用以下解决方案将日志重定向到文件并保持乘客满意(基本上只是将stdout复制到日志文件中,而不是重定向): log = File.new("logs/std.log","a+") def STDOUT.write string log.write string super end STDOUT.sync = true (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |