Ruby on rails Rails错误:无法打开数据库文件(SQLite3::CantOpenException)

Ruby on rails Rails错误:无法打开数据库文件(SQLite3::CantOpenException),ruby-on-rails,sqlite,Ruby On Rails,Sqlite,我创建了一个Rails web应用程序,推到github,拉到一个树莓圆周率。 运行“rakedb:createrails\u ENV=production”和db:migrate 当我运行WEBrick服务器(在生产环境中)时,它工作得非常好。但当我尝试通过Apache运行它时,我会看到Phusion乘客错误屏幕: Web application could not be started unable to open database file (SQLite3::CantOpenExcept

我创建了一个Rails web应用程序,推到github,拉到一个树莓圆周率。 运行“rakedb:createrails\u ENV=production”和db:migrate

当我运行WEBrick服务器(在生产环境中)时,它工作得非常好。但当我尝试通过Apache运行它时,我会看到Phusion乘客错误屏幕:

Web application could not be started
unable to open database file (SQLite3::CantOpenException)
 /usr/local/rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/sqlite3_adapter.rb:26:in `initialize'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/sqlite3_adapter.rb:26:in `new'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/sqlite3_adapter.rb:26:in `sqlite3_connection'
我已经将production.sqlite3文件的所有者和组更改为“www-data”和chmod 666。还编辑了database.yml文件,使其包含数据库文件的完整路径,而不是相对路径


不确定还要尝试什么。

这是因为nginx创建了www数据用户,而该用户没有读取sqlite3文件和您的应用程序的权限

您需要运行以下命令:

  • sudo chown-R www-data:www-data-rails\u project/
  • sudo chmod-R 777 rails\u项目/

  • 也许你还没有迁移,所以是错误。do:rails-db:migrate