我试图在Centos上运行Rails应用程序并且我在浏览器中得到了这个消息:
We're sorry, but something went wrong.
查看httpd日志,我发现有一个SQLite3问题。任何想法?
环境:Centos 6.5
64bit
Apache 2.2.15
ruby 2.0.0p481
Rails 4.0.5
passenger 4.0.48
Apache错误日志App 18313 stdout:
[ 2014-08-14 12:34:09.1836 18254/7f0c89077700 Pool2/SmartSpawner.h:298 ]: Preloader for /var/www/html/masterbet_20140813 started on PID 18313, listening on unix:/tmp/p$
App 18402 stdout:
App 18402 stdout: Started GET "/" for 192.168.1.10 at 2014-08-14 12:34:09 +0300
App 18402 stdout: Processing by StaticPagesController#home as HTML
App 18402 stdout: SQLite3::SQLException: no such table: users: SELECT "users".* FROM "users" WHERE "users"."remember_token" = 'da39a3ee5e6b4b0d3255bfef95601890afd807$
App 18402 stdout: Completed 500 Internal Server Error in 3ms
App 18402 stdout:
App 18402 stdout: ActiveRecord::StatementInvalid (SQLite3::SQLException: no such table: users: SELECT "users".* FROM "users" WHERE "users"."remember_token" = 'da39a3$
App 18402 stdout: app/helpers/sessions_helper.rb:42:in `current_user'
App 18402 stdout: app/helpers/sessions_helper.rb:15:in `signed_in?'
App 18402 stdout: app/controllers/static_pages_controller.rb:4:in `home'
Apache etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerName www.masterbet.gr
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /var/www/html/masterbet_20140813/public
<Directory /var/www/html/masterbet_20140813/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
# Uncomment this if you're on Apache >= 2.4:
#Require all granted
</Directory>
</VirtualHost>
当我试图通过我的rails应用程序的乘客使用apache时,我也遇到了同样的问题。似乎你需要指向你的开发数据库,如果你已经初始化了一个或初始化了生产数据库,因为默认情况下你是在生产模式下通过apache部署你的应用程序。进入config/database目录。修改生产环境的默认配置:database: db/production。Sqlite3数据库:db/developmentSqlite3,如果你有一个开发数据库准备。如果没有,您应该运行rake db:migrate并填充生产数据库。