Rails从WEBrick连接到MySQL,但不从Passenger连接到MySQL

时间:2013-09-27 14:30:31

标签: mysql ruby-on-rails passenger

我刚刚使用MySql创建了一个新的Rails 4应用程序,如下所示:

rails new mysqltest -d mysql

并使用正确的凭据修改了database.yml。

我生成了一个示例控制器并更新了根路由的路由。

当我开始在生产中使用WEBrick时,

rails s -e production

该网站有效。我看到了索引页面。

当我开始使用没有3000端口的Passenger时,我看到以下错误:

database configuration does not specify adapter (ActiveRecord::AdapterNotSpecified)

Passsenger正在生产环境中运行。

我的database.yml

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MYSQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql2
  encoding: utf8
  database: sample
  pool: 5
  username: sample
  password: sample
  socket: /var/run/mysqld/mysqld.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  database: sample
  pool: 5
  username: sample
  password: sample
  socket: /var/run/mysqld/mysqld.sock

production:
  adapter: mysql2
  encoding: utf8
  database: sample
  pool: 5
  username: sample
  password: sample
  socket: /var/run/mysqld/mysqld.sock

2 个答案:

答案 0 :(得分:1)

我在database.yml文件和apache配置文件中使用的情况不同。

两者都应该相同。例如。 production

在apache配置中,我给出了Production。将其更改为production后就可以了。

来源 - https://groups.google.com/forum/#!topic/phusion-passenger/Kr-R0gSw6i8

答案 1 :(得分:0)

您是否创建了本地生产数据库?

rake db:create:all
RAILS_ENV=production bundle exec rake db:migrate

您的database.yml文件是否已正确设置以使用生产数据库?

你的gem文件中是否有mysql gem。

常见问题。