微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用nginx工作在Phusion Passenger上的Sequel DB连接的正确位置

我使用Sinatra + Sequeltesting了使用ruby编写的应用程序。

config.ru:

require './main' run Sinatra::Application

示例代码

require 'sinatra' require 'haml' require 'sequel' DB=Sequel.connect('oracle://test:test@test') class Tarification < Sequel::Model(DB[:test_table]) end get '/' do haml :index end

在我的testing环境中开始使用Phusion Passenger之前,一切正常。 现在我在Nginx error.log中有exception:

Nginx一个重复的认服务器

为什么在Nginx下使用Sinatra与Passenger发生404错误

一个用于多个域名的rails应用程序

Centos + Apache +乘客+导轨:从您的www文件夹运行rails应用程序

Rails – 用Capistrano部署后Nginx需要重启吗?

Sequel :: DatabaseError – RuntimeError:连接不能在分叉进程中重用。

数据库连接例程放置在rackup文件config.ru中是正确的,还是以不同的方式做到这一点? 如果第一个变体比如何从应用程序代码调用连接正确?

PS:我知道我可以做passenger_spawn_method conservative并继续在应用程序代码中打开连接,但由于速度和资源使用问题,这不是我要找的方式。

Nginx + Passenger + Rails – 403禁止

获得SSL与OSX上的Apache / Passenger一起使用

apache + redmine 403 – premissions是好的

我的/公共目录是一个符号链接3 +乘客3 + Nginx的0.8?

如何在Ubuntu上安装Phusion Passenger 4(在apache2或Nginx上)?

这个问题记录在Phusion乘客手册的附录C.3中。 通常的方法是钩入post-fork回调并在那里重新建立连接。

对不起,我没有在Passenger上检查它的能力,我不知道它会工作,但是在配置块中连接是更正确的:

configure do Sequel.connect(ENV['DATABASE_URL'] || 'sqlite://blog.db') end

例如形式为Scanty – 另一个伟大的Sinatra + Sequel应用程序。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐