【问题标题】:Rails CouchDB App not working in ProductionRails CouchDB 应用程序无法在生产环境中运行
【发布时间】:2011-02-24 12:24:12
【问题描述】:

我在生产服务器上部署了我的应用程序并收到以下错误:

(您的 config/couchdb.yml 文件有问题。检查并确保它存在并且语法正确。)

couchdb.yml 文件如下:

base: &base
 database_prefix: 
 database_suffix: _<%%= RAILS_ENV %>

development:
  host: localhost
  port: 5984
  <<: *base

test:
  host: localhost
  port: 5984
  <<: *base

  production:
      host: localhost
      port: 5984
      <<: *base

在 boot.rb 中

require 'rubygems'

# Set up gems listed in the Gemfile.
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)

require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
require 'simply_stored/couch'
CouchPotato::Config.database_name = "http://localhost:5984/thedatabase"

数据库已经创建并在本地工作;问题出在生产服务器上,所有 gem 都已安装;不知道为什么我错过了一些我应该为生产指定不同的东西..已经尝试将主机作为 127.0.0.1 。运气不好

couchdb_initializer.rb 上抛出错误;代码是通用的(已经由 gem 生成)。

我可以使用 Rails 服务器运行应用程序并使用 3000 端口打开;但是我在使用 ngingx + 乘客槽 http://

时遇到第一个错误

【问题讨论】:

    标签: ruby-on-rails couchdb


    【解决方案1】:

    你的作品couchdb.yml 里面真的有“all:”吗?如果是这样,请尝试将其设置为“生产:”,看起来该代码没有任何特殊逻辑来确定couchdb.yml 文件中的“全部”环境应该真正适用于所有环境,特别是寻找“生产”。

    【讨论】:

    • 添加生产:主机:本地主机端口:5984 数据库:数据库重新启动nginx,同样的错误。我正在使用乘客 + nginx
    • 当时不确定,我尝试了那个 yaml 文件文本,它解析它没问题,所以当时没有引发错误。抛出想法:couchdb 已在生产盒上启动并运行?权限好吗? SElinux没有阻塞吗?尝试考虑其他可能生产特定的事情。
    【解决方案2】:

    文件上的标识符有误。

      production:
          host: localhost
          port: 5984
          <<: *base
    

    【讨论】:

      猜你喜欢
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 2013-03-06
      • 2012-04-15
      • 2016-10-22
      • 2014-11-18
      相关资源
      最近更新 更多