gpt4 book ai didi

ruby-on-rails-3 - "Could not connect to server: No such file or directory"使用 beantalk 部署 Rails 应用程序时

转载 作者:行者123 更新时间:2023-11-29 11:30:03 25 4
gpt4 key购买 nike

在使用 Rails 3.2.17 部署应用程序时,出现以下错误。

eb-commandprocessor.log

+ su -s /bin/bash -c 'leader_only bundle exec rake db:migrate' webapp
rake aborted!
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
/var/app/ondeck/config/environment.rb:5:in `<top (required)>'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace) (ElasticBeanstalk::ActivityFatalError)
at /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.1.0/gems/beanstalk-core-1.1/lib/elasticbeanstalk/activity.rb:189:in `rescue in exec'
...
caused by: command failed with error code 1: /opt/elasticbeanstalk/hooks/appdeploy/pre/12_db_migration.sh

这是我们的database.yml配置

 production:
adapter: postgresql
database: <%= ENV['RDS_DB_NAME'] %>
username: <%= ENV['RDS_USERNAME'] %>
password: <%= ENV['RDS_PASSWORD'] %>
host: <%= ENV['RDS_HOSTNAME'] %>
port: <%= ENV['RDS_PORT'] %>

令人惊讶的是,我们能够启动 Rails 控制台,并且我们还验证了上述所有环境变量都返回了正确的值。

并且还可以使用以下命令通过 psql 进行连接psql -h RDS_HOSTNAME -d RDS_DB_NAME -U RDS_USERNAME

最佳答案

在我这边,问题是因为我删除了我的 .elasticbeanstalk/optionsettings,所以 RACK_ENV 没有定义,AWS 默认将它设置为 production 导致我的应用程序有错误的数据库主机名。

我通过在 /opt/elasticbeanstalk/hooks/appdeploy/pre/12_db_migration.sh 中添加 echo 语句来调试它以显示 RACK_ENV 和注意到它是空的。

关于ruby-on-rails-3 - "Could not connect to server: No such file or directory"使用 beantalk 部署 Rails 应用程序时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com