我尝试部署一个rails应用程序。我将 apache 与 sqlite3 数据库一起使用。通过乘客和卡皮斯特拉诺的配置效果很好。
但是当我启动服务器并尝试修改数据库时,出现以下错误:SQLite3::CantOpenException: unable to open database file
我已经 chmod 777'production.sqlite3
.我把production.sqlite3
放在foofoo/foo/shared
并配置了database.yml
:
production:
adapter: sqlite3
database: /foofoo/foo/shared/production.sqlite3
pool: 5
timeout: 5000
(PS rails 3.2.3, ruby 1.9.3, sqlite 3.7.9)
这是因为nginx创建了www-data用户,而这个用户没有读取sqlite3文件和你的应用程序的先决条件......
您需要运行以下命令:
-
sudo chown -R www-data:www-data rails_project/
-
sudo chmod -R 777 rails_project/