问题标签 [rackup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 支持 HTTPS 的 Rackup
我发现了这个问题,它并没有真正解决我的问题,但至少可以让我以正确的方式表达我的问题。
我有一个简单的露营应用程序,我通过rackup
. 我希望能够通过安全连接测试应用程序(自签名服务器证书就可以了),但由于我的开发盒上没有 root,如果我能保护默认服务器会更好rackup (可能是 Mongrel?WEBrick?不知道如何检查)因为它很轻量级并且或多或少是开箱即用的。
再说一次,我 a) 没有 root,b) 以前没有配置过 Apache 服务器,c) 不是特别想学习是否可以提供帮助。如果没有简单的方法可以做到这一点,我想这就是生活,但如果我可以将一两个选项传递给 rackup,或者更新我的 config.ru,以提供 HTTPS 支持,那将是理想的。
ruby - 通过 Sinatra 应用程序将选项传递给 rackup
我是 ruby 新手,正在学习 Sinatra。虽然通过要求和直接在其下设置路由来创建 Sinatra 站点'sinatra'
非常简单且文档齐全,但通过要求'sinatra/base'
和编写继承自'Sinatra::Base
' 的类来创建应用程序虽然仍然相对容易,但文档记录却很差(可能是因为它是Sinatra 的最新功能)。
这正是我正在做的。我在 Sinatra 部分没有太多麻烦,但是我在 rackup/thin/server 部分遇到了一些麻烦。显然有两种部署应用程序的方法:使用 Sinatra 本身(使用该run!
方法)和使用 rackup 文件(通常是config.ru
.
使用 Sinatra 的run!
方法非常直观,而且效果很好,但如果我想在 heroku 上部署我的应用程序,显然它不起作用。事实上,我在 GitHub 上遇到的几乎所有 Sinatra 应用程序都使用config.ru
文件。
使用机架文件可能同样直观,但我无法理解如何将选项从 Sinatra 应用程序传递到服务器(ir:端口)。我尝试将选项合并到 rackup 的默认选项数组:
通过将选项直接添加到应用程序:
通过从应用程序类中设置选项:
上述所有方法都失败了,要么显示错误消息,要么只是没有考虑任何选项。那么,在使用 rackup 文件时,有没有办法通过 Sinatra 应用程序将选项传递给 rackup/thin/服务器?或者问题中的选项应该通过命令行选项直接传递给 rackup/thin/the 服务器?
作为问题的参考,这里是我正在构建的小 Sinatra 应用程序:https ://github.com/AzizLight/Wiki/
ruby - 带有 rackup 的 run_later 无法使用 ctrl-c 退出 - Ruby
我正在使用这个 run_later https://github.com/elecklider/sinatra_run_later模块(我自己的https://github.com/pmamediagroup/sinatra_run_later的分支)运行带有 rackup 的 Sinatra 应用程序。但是,当我将 ctrl-c 发送到 rackup 时,我似乎无法让它干净地退出。它在第 38 行出现错误ERROR SystemExit: exit
。当我关闭 rackup 过程时,如何让它很好地退出?
编辑:
我一直在搞砸这个,这里提出了错误:
似乎注释掉整个trap
块可以很好地清理它。从本质上讲,这回答了如何让它很好地清理的问题,但我不知道为什么,如果有人能提供一些澄清,我会非常感激。
ruby - 找不到“rackup”命令?
http://titusd.co.uk/2010/04/07/a-beginners-sinatra-tutorial
我试图按照rackup config.ru
上面第 4 节教程中的说明从命令行运行。它最终显示“找不到命令 'rackup'”。
知道发生了什么吗?
ruby - 正在寻找机架应用程序结构和 config.ru 规范?
这可能会让我看起来很蹩脚,但我仍然找不到典型的机架应用程序结构(文件夹/文件,如 public、config.ru)或config.ru
文件内容的任何正式描述。
在 Java 世界中,对 Web 应用程序及其组成部分(WEB-INF、META-INF web.xml)有明确的定义。
是否有 Rack Web 应用程序的规范?或者它是像 Ruby 本身一样模糊的东西。
我希望在http://rack.rubyforge.org/网站的某个地方找到该信息,但我找不到。请指出我正确的方向。
尽管我将此问题标记为已回答,但值得一提的是,该问题本身并不是很合理。应用程序结构由实际使用的网络服务器/插件组合驱动,例如 Apache/Passenger,而不是 Rack。
ruby-on-rails - 使用 Foreman gem 的机架文件无效
试图在 vagrant (Ubuntu) 上运行 foreman start。
档案
private_pub.ru 在我的根目录下,Procfile 也是。
如果我这样做(它有效):
在rails服务器之后......
但是当我这样做时:
configuration - 在 Heroku 上部署 Sinatra 应用程序
关于在 Heroku 上部署 Sinatra 应用程序,我对实际上不是一个实际问题(只是一个概念难题)感到困惑。
我有两个应用程序,几乎在各个方面都相同,除了一个将其大部分逻辑放在一个不包含 Sinatra::Base 类的文件中,并使用“需要其他文件名”来获取它需要的逻辑。该 Sinatra:Base 类名为 Kincalc。
对于在一个文件中包含所有逻辑的应用程序(即包含 Sinatra:Base 类的同一文件),在我的 config.ru 文件中,最后一行显示“运行 Sinatra::Application”,它可以正常启动。但是在另一个应用程序中,如果我将其作为最后一行,该应用程序会正确上传并说它已“部署到 Heroku”,但会显示“未找到”消息。当我将最后一行读取为“运行 Kincalc”时,它可以正常加载。
我已经来回检查了这一点,这两个应用程序的构建方式没有什么不同,除了一个为逻辑使用第二个文件(也位于根目录)的事实。为什么这会是个问题,或者这真的是个问题?当我尝试将第二个文件(没有 Sinatra 类的文件)放在单独的 lib 文件夹中时,当我调用类名时它仍然有效,但当我调用“Sinatra::Application”时它仍然有效。
websocket - Faye 阻止连接
我在 Rails 应用程序中使用 Faye,我遇到了一个非常奇怪的行为,如果 faye 在提供subscribe
所有资产之前到达(即,在$(document).ready()
调用之后但在浏览器中的微调器运行时),那么 faye 将阻止浏览器处于“加载”模式(例如,微调器永远不会停止)。
我相信我正在使用 websockets 而不是长轮询,尽管我不确定如何确定。当启用引用 websocket 的调试消息时,我确实在 faye 的日志中看到:
浏览器连接到thin
正在运行的独立服务器
我正在使用的命令是
我正在运行 faye 0.8
5 分钟后,我简单地[Esc]
和那些出现了,那faye.js
是 Faye 提供的脚本,似乎这些文件中的每一个似乎都对应于每个subscribe
调用。
有趣的是,在这 5 个文件之后,有 5 个调用块,每分钟开始一次。
对此的任何帮助将不胜感激!
ruby-on-rails - 机架安装应用程序与 sinatra 应用程序的导轨安装
我想知道哪种方法可以更好地为 ruby 安装不同的应用程序。我有 2 个 sinatra 应用程序和一个 rails 应用程序。
一种方法是使用 rails 作为基础并使用routes.rb
(within rails)安装 sinatra 应用程序
这样,两个 sinatra 应用程序都在 rails 中。
另一种方法是使用 rackup 来安装所有三个使用config.ru
(所有三个应用程序并行)
我无法找到一种优于另一种的优势,或者出于什么原因哪种方法更好。