当我使用eb deploy
在aws beanstalk上部署我的应用时,它会出错
rake aborted!
PG::ConnectionBad: 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"?
.ebextensions / postgres.config:
packages:
yum:
postgresql93-devel: []
配置/ database.yml中:
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
production:
<<: *default
database: <%= ENV['RDS_DB_NAME'] %>
username: <%= ENV['RDS_USERNAME'] %>
password: <%= ENV['RDS_PASSWORD'] %>
host: <%= ENV['RDS_HOSTNAME'] %>
port: <%= ENV['RDS_PORT'] %>
答案 0 :(得分:3)
我有完全相同的问题。
问题是您必须通过环境变量将数据库连接到应用程序。
首先,您需要创建要连接的RDS实例。此链接显示了如何:https://aws.amazon.com/getting-started/tutorials/create-connect-postgresql-db/?nc1=h_ls
然后,在创建实例后,您需要转到RDS服务页面,然后在左侧菜单中选择实例。选择您在列表中创建的实例,然后转到名为&#34; Connect&#34;的部分。这些是您放在这些环境变量中的值,其中HOSTNAME值是端点。
希望它有所帮助,为我工作!
答案 1 :(得分:0)
我有类似的问题,但在我的情况下,RDS连接超时。解决方案是将我的EC2实例的安全组添加到&#34; inbound&#34; RDS安全组的一部分。
要执行此操作,请转到EC2页面并搜索&#34;安全组&#34;,在那里您可以找到您的RDS和EC2安全组,单击RDS安全组并添加EC2安全组。