使用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应用程序。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....