将 Rails 应用程序连接到 Amazon RDS 服务器。在控制台中工作,但现在页面无法加载

发布于 2024-12-12 21:17:42 字数 729 浏览 0 评论 0原文

我正在尝试将 RDS 数据库与我的 Rails 应用程序一起使用,因为最终我想将其放在 heroku 上。 (数据库大约10GB)。我无法连接它,但它似乎可以工作。如果我进入控制台,我可以运行 sphinx 搜索以及我需要的所有内容,但是当我启动服务器时,它似乎冻结了或发生其他情况。如果我单击“关于您的应用程序的环境”,则什么也不会发生。我在控制台中没有收到任何消息或任何内容。如果我尝试转到另一个页面,它只会尝试加载该页面,但不会去任何地方。

这是我的database.yml 的样子。

# development:
#   adapter: postgresql
#   encoding: unicode
#   database: musicbrainz_post
#   pool: 5
#   username: postgres
#   password:

development:
  adapter: mysql2
  #encoding: utf8
  host: musicbrainz.somestuff.amazonaws.com
  #port: 3306
  #reconnect: false
  database: musicbrainz
  username: myusername
  password: mypass

如果我注释掉旧的数据库配置,它就会工作并且页面会加载以及所有内容。但我想使用亚马逊数据库。

有谁知道这是为什么?或者我应该使用另一个数据库/主机?

任何帮助都会很棒!

I am trying to use a RDS database with my rails app since eventually I want to put it on heroku. (Database is about 10gb). I had trouble getting it to connect but it seems to be working. If I go into the console I can run sphinx searches and all that I need to but when I start the server it seems to freeze or something. If I click "About your application’s environment" nothing happens. I do not get any messages in the console or anything. If I try to go to another page it just tries loading the page but does not go anywhere.

Here is what my database.yml looks like.

# development:
#   adapter: postgresql
#   encoding: unicode
#   database: musicbrainz_post
#   pool: 5
#   username: postgres
#   password:

development:
  adapter: mysql2
  #encoding: utf8
  host: musicbrainz.somestuff.amazonaws.com
  #port: 3306
  #reconnect: false
  database: musicbrainz
  username: myusername
  password: mypass

If I comment out my old database configuration it works and the pages load and everything. But I want to use the amazon database.

Does anyone know why this is? Or is there another database/host I should be using?

Any help would be great!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无风消散 2024-12-19 21:17:42

遇到同样的问题后,我发现了问题所在。问题是您需要使用 Ruby 1.9.3,而不是 Ruby 1.8.7。我认为该错误发生在 mysql2 gem 中。

因此修复方法是安装 Ruby 1.9.3。以下是我遵循的步骤:

注意:在开始任何这些步骤之前,请将终端设置为“作为登录 shell 运行命令”。对于 Ubuntu,打开终端,转到编辑 ->个人资料首选项。转到“标题和命令”。选中“作为登录 shell 运行命令”旁边的框,

  1. 在我的系统上安装了 RVM,并捆绑了 ruby​​ 和 ruby​​ on Rails: https://rvm.io/rvm/install/ 命令:\curl -L https://get.rvm.io | bash -s stable --rails
  2. 命令:source ~/.rvm/scripts/rvm
  3. 使用 RVM 安装 OpenSSL:rvm pkg install openssl
  4. 重新安装所有 rubies:rvm reinstall all --force
  5. 因为您现在使用 RVM 来管理 rubies 和你的宝石 你的宝石环境将会是新的。因此您必须重新安装所有 gem。为此,请转到您的项目并运行:bundle install
  6. 运行您的 Rails 应用程序:bundle execrails s

祝你好运!

After experiencing the same problem I found out what the problem was. The problem is that you need to use Ruby 1.9.3 as opposed to Ruby 1.8.7. I think the bug is occuring in the mysql2 gem.

Therefore the fix is to install Ruby 1.9.3. Here are the steps I followed:

NOTE: Before starting any of these steps, set up your terminal to "Run command as a login shell". For Ubuntu, open the terminal go to Edit -> Profile Preferences. Go to "Title and Command". Check the box next to "Run command as a login shell"

  1. Installed RVM on my system with ruby and ruby on rails bundled: https://rvm.io/rvm/install/ Command: \curl -L https://get.rvm.io | bash -s stable --rails
  2. Command: source ~/.rvm/scripts/rvm
  3. Used RVM to install OpenSSL: rvm pkg install openssl
  4. Reinstall all rubies: rvm reinstall all --force
  5. Because you are now using RVM to manage both your rubies and your gems your gem environment will be new. Therefore you must reinstall any gems. Do so by going to your project and running: bundle install
  6. Run your rails app: bundle exec rails s

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文