获得"从应用程序收到的不完整响应"在Rails中

时间:2015-06-07 19:57:10

标签: ruby-on-rails ruby nginx passenger

有人可以帮忙吗?我的堆栈是ubuntu-server 14.04,其中包含nginx / passenger和ruby 2.2.2。我无法使我的项目在生产中发挥作用。一切都在开发中运行良好。

secrets.yml

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
  secret_token: <%= ENV["SECRET_KEY_BASE"] %>

服务器

server { 
    listen 80; 
    server_name logvs.local; 
    passenger_enabled on; 
    passenger_app_env development;
    root /var/www/logvs/public; 
}

error.log中

App 2532 stderr: [ 2015-06-07 22:56:01.4724 2610/0x000000014d6b00(Worker 1) utils.rb:85 ]: *** Exception RuntimeError in Rack application object (Missing `secret_token` and `secret_key_base` for 'production' environment, set these values in `config/secrets.yml`) (process 2610, thread 0x000000014d6b00(Worker 1)):
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/railties-4.2.1/lib/rails/application.rb:534:in `validate_secret_key_config!'
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/railties-4.2.1/lib/rails/application.rb:246:in `env_config'
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/railties-4.2.1/lib/rails/engine.rb:514:in `call'
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/railties-4.2.1/lib/rails/application.rb:164:in `call'
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.9/lib/phusion_passenger/rack/thread_handler_extension.rb:94:in `process_request'
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.9/lib/phusion_passenger/request_handler/thread_handler.rb:149:in `accept_and_process_next_request'
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.9/lib/phusion_passenger/request_handler/thread_handler.rb:110:in `main_loop'
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.9/lib/phusion_passenger/request_handler.rb:414:in `block (3 levels) in start_threads'
App 2532 stderr:    from /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.9/lib/phusion_passenger/utils.rb:111:in `block in create_thread_and_abort_on_exception'
[ 2015-06-07 22:56:01.4731 2508/7f6775575700 age/Hel/Req/Utils.cpp:95 ]: [Client 1-1] Sending 502 response: application did not send a complete response

编辑:我忘了说我正在使用设计进行身份验证

2 个答案:

答案 0 :(得分:2)

我遇到了类似的问题。我最终在生产服务器的.profile(或类似的)文件中手动输入生产中的env变量。

app error: Missing `secret_token` and `secret_key_base` for 'production' environment

我在How to solve error "Missing `secret_key_base` for 'production' environment" (Rails 4.1)

找到了很好的答案

答案 1 :(得分:0)

我真的遇到了这个问题,因为我之前在生产服务器上遇到了问题,我通过设置secret_key_base来修复它。但是,现在问题开始发生在我的开发环境中。我在开发环境中使用NGINX但是我仍然单独安装了MAMP,因此rails应用程序使用的是MAMP安装的MySQL,它似乎正在运行。然而,不知怎的,它有一个错误,我重新启动MySQL,然后它修复了问题。这样可以尝试:确保MySQL(或您正在使用的任何数据库)配置正确,正常运行,如果是,请尝试重新启动它。