我创建了一个Rails Web应用程序,推送到github,然后下载到Raspberry Pi上。 执行“rake db:create RAILS_ENV = production”以及db:migrate。
当我运行WEBrick服务器(在生产环境中)时,它完美运行。但是当我尝试通过Apache运行它时,我得到了Phusion Passenger错误屏幕:
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文件,使其包含数据库文件的完整路径,而不是相对路径
不确定还有什么可以尝试。
答案 0 :(得分:0)
这是因为nginx创建了www-data用户,而且这个用户没有优先阅读sqlite3文件和你的app ...
您需要运行此命令:
sudo chown -R www-data:www-data rails_project/
sudo chmod -R 777 rails_project/