标签: sinatra

在后台启动 Sinatra 应用程序,并将 stdout 和 stderr 重定向(附加)到文件

我有一个 Sinatra 应用程序,我使用ruby app.rb. 通过 ssh 在远程机器上部署它时,如何在后台运行它并将 stdout 和 stderr 重定向到日志文件?

在重新启动时,我想保留以前的日志,以便将较新的消息附加到现有的日志文件中,而不是截断它。

将我的 Web 应用程序作为守护程序运行的推荐方式是什么?

我试过了nohup ruby app.rb &,但似乎缺少 stderr 并且在某些情况下日志语句似乎乱序。

daemon background background-process stderr sinatra

7
推荐指数
1
解决办法
7391
查看次数

Apache+Passenger 不为 Sinatra 应用程序的根提供服务

自上次 Fusion Passenger 更新以来,我所有的 Sinatra 应用程序都停止在以下环境中工作:Apache (2.4.17)、Phusion Passenger (5.0.21)。在更新乘客中间件之前,一切都按预期工作。

问题是,当我请求我的 vhost的 url ( https://myapp.ch )时,apache 目录正试图进入公共目录的列表。

ODD 部分:如果请求在 Sinatra 控制器中定义的路由(即:https : //myapp.ch/infos),则启动乘客并按预期提供请求的页面。

这是虚拟主机部分:

<VirtualHost *:443>
  DocumentRoot /home/user1/sinatra/app1/public
  ServerName myapp.ch

  <Directory /home/user1/sinatra/app1/public>
      AllowOverride all
      Order allow,deny
      Allow from all
      Options -MultiViews
      Require all granted
  </Directory>
Run Code Online (Sandbox Code Playgroud)

配置文件

# encoding: UTF-8

require 'rubygems'
require 'sinatra'

require File.expand_path '../start.rb', __FILE__

run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)

请求 Sinatra 应用 (/) 的根目录时出现 Apache 日志错误:

[Mon Oct 26 22:10:30.728795 2015] [autoindex:error] [pid 3535:tid 140103510914816] [client 176.127.182.162:50956] AH01276: Cannot …
Run Code Online (Sandbox Code Playgroud)

ruby phusion-passenger sinatra apache-2.4

5
推荐指数
1
解决办法
2844
查看次数

独角兽和 copy_on_write_friendly?

在研究 Unicorn 配置选项时,我遇到了这个片段..

GC.respond_to?(:copy_on_write_friendly=) and
  GC.copy_on_write_friendly = true
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,它优化了 Unicorn 如何处理工人之间的内存分配和资源共享?

我使用 Unicorn 在带有 Ruby 1.9.3 的服务器上为我的 Sinatra 应用程序提供支持。在我的独角兽配置中包含copy_on_write_friendly设置有什么缺点吗?

debian configuration ruby sinatra unicorn

2
推荐指数
1
解决办法
2042
查看次数