2013-10-05 63 views
1

今天,我在商用服务器上部署了Spree Commerce应用程序。我遇到的问题是登录页面无法正常工作,我希望这里有人能给我建议。在通过Capistrano部署Rails Spree应用程序后未在此服务器上找到请求的URL /登录

我对Ruby on Rails相当新颖,只是稍微调整了标准的Spree Commerce应用程序。在我的本地机器上,一切工作正常(可能会添加产品,登录等)。服务器和我正在运行Ruby 1.9.3和Rails 3.2.14。

将所有内容放入git存储库后,根据托管公司的网站配置deploy.rb文件,并运行“bundle install”,“exec rake assets:precompile”,“cap:deploy:setup”和“cap:deploy”整个事情被成功部署到服务器上。

当您访问网站时,您首先从Phusion Passenger那里得到了一条优雅的错误消息,表示database.yml丢失了。这是在我解决了database.yml文件到服务器上轨/共享/配置(我不得不作出太多的config文件夹)包含以下内容(用户名和密码一样的地方):

production: 
    adapter: postgresql 
    encoding: utf8 
    database: [name] 
    pool: 5 
    timeout: 5000 
    username: [username] 
    password: [password] 
    host: localhost 

现在,当我浏览索引页面显示的网站时,我可以查看购物卡,并且可以搜索产品。不幸的是,当我尝试登录我得到以下信息:

The requested URL /login was not found on this server.

有人在SO人都有类似的问题here与非工作管理/登录页面,只有在本地计算机上。这个人得到了安装spree_auth_devise扩展的建议。我确实在我的Gemfile中包含了这个,并且在本地登录功能工作正常,所以这对我来说不是问题。

/编辑此外,这可能是相关的,当我运行耙分贝:引导我得到以下信息:

-bash-4.1$ rake db:bootstrap 
This task will destroy any data in the database. Are you sure you want to 
continue? [y/n] y 
rake aborted! 
database configuration does not specify adapter 

我希望有人能赐教!

回答

1

这个问题是通过向freenode IRC上的#spree询问好人来解决的。通过添加

Spree::Config.set(:allow_ssl_in_production => false) 

到config /初始化/ spree.rb,承诺并推向Git仓库和运行帽:部署再次登录页是否正常运行!

我有在生产模式下使用SSL的数据库的标准设置,我的网站没有设置为使用SSL。简单的解决方法是在生产模式下禁用SSL。

由于我没有SSL证书或支持(最终我确实希望这样做,当然是因为它更安全),因此在rails/config/production.log服务器上的生产日志中发生了301错误。

相关问题