问题标签 [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.

0 投票
1 回答
1234 浏览

ruby-on-rails - 对带有配置文件的瘦服务器使用 rackup 命令

我正在尝试运行以下命令来在生产环境中运行服务器:

private_pub.ru 看起来像这样:

我想将配置文件(thin.yml)传递给 Thin,如下所示:

所以这是我要执行的命令:

但是 rackup 不支持 -C 因为这个参数是针对瘦的......根据这些文档:https ://github.com/macournoyer/thin/#configuration-files

我还尝试将我的命令更改为:

但后来我得到错误:

在我的设置中 - 当机架运行很薄时,如何将此配置(thin.yml)传递给瘦?

0 投票
2 回答
191 浏览

rack - Ruby Rack 调用:类与实例方法?

我正在使用Rack构建一个 REST API。

应该call是类还是实例方法?

0 投票
1 回答
980 浏览

ruby - Sinatra:模块化路由类不识别辅助方法

我正在 Sinatra 中构建 API,并已转换为模块化样式。但是,我遇到了无法识别路由文件中的方法调用的问题。

我已经简化了应用程序,因此帖子更短,但基本问题是,如果我GET /testWorkoutHandler- 它无法识别其中的方法,WardenStrategies或者LoginHelper除非我还将这些文件包含在处理程序中(它们已经包含在 app.rb 中)。但是,一旦我这样做,他们使用的 gem 中声明的方法就无法识别。所有这些都在 app.rb 中注册,并且在我的 Rackup 文件中是必需的。

这是我的 app.rb 文件

以下是 config.ru、Handler 和 Helper 文件。(处理程序只是我用于控制器/路由文件的名称。


我假设helpers,useregister只需要在 app.rb 中声明(因为我需要我的 rackup 文件中的所有文件并从那里运行应用程序)。但是,check_authentication除非我在这里也注册了帮助程序,否则无法识别该方法。



截至撰写本文时,我在运行规范时收到以下错误:

这意味着 env 没有 :warden 键/值(我在控制台中确认)。该authenticated?方法在 Warden gem 目录中,所以我想我可以require 'warden'在每个 Handler 文件中 - 我不认为这是模块化 Sinatra 应用程序应该构建的方式。

我已经阅读了关于模块化 Sinatra 应用程序的所有博客文章和书籍章节,但我似乎无法调试我的问题。据我了解,需要在所有使用它们的文件中重新注册(包含)助手是无关紧要的。我认为通过扩展 Sinatra::Base,我可以访问 app.rb 中所有声明的类。

任何帮助,将不胜感激。谢谢!

0 投票
3 回答
634 浏览

ruby-on-rails - Rackup 命令在 Windows 7 上不起作用

我正在尝试使用private_puband建立在线聊天thin。我已经安装了 gem 并尝试使用以下命令启动瘦客户端。

我得到以下错误:

甚至rackup --help显示相同的错误。任何要添加到环境变量或config.ru文件中的东西。请帮忙!

我的平台是 Windows 7 32 位。

0 投票
1 回答
202 浏览

ruby - ruby - 机架问题

我正在尝试运行 rackup 来运行 ruby​​ 应用程序。我收到此错误。

怎么了?任何帮助表示赞赏。

0 投票
2 回答
88 浏览

ruby - 将 sinatra 配置为服务器

我使用 sinatra 用 ruby​​ 编写了一个应用程序。该应用程序运行良好,我正在使用邮递员测试发布/获取请求。

现在我使用命令启动应用程序,rackup但它在端口上本地启动服务器9292。使用邮递员,我POST发送localhost:9292

我想在从另一台计算机访问时测试该应用程序。我期望使用 POSTMAN 发送 POST 的东西,http://182.12.34.1:9292但我没有找到如何做到这一点。

配置.ru

档案

任何想法,如何从本地测试切换到服务器?

谢谢

0 投票
1 回答
312 浏览

ruby - 在 ubuntu 上使用 rvm 时,我必须在哪里为 sinatra 启动服务“rackup”

我正在 ubuntu 上的 IDE ruby​​mine 中开发一个 webapp,我最近为我的 gemsets 安装了 gem sinatra,以便为我的 webapp 编写一个 REST-API。我有一点启动问题,因为在创建 app.rb 和 config.ru 之后,我不知道应该在哪里编写“rackup”命令。由于 rvm,我的 ubuntu 不知道 rackup。它告诉我应该安装 ruby​​-rack 但 sinatra 不应该在船上安装它吗?如果 gem rack 2.0.1 也安装在同一个 gemset 中会不会有问题?

我试图用系统终端启动机架。那没起效。

0 投票
1 回答
49 浏览

heroku - Sinatra 未提供公共目录

正如标题所说,我无法让 Heroku 使用我的公共资产。

在本地,当使用shotgun它运行我的应用程序时。但是使用rackup(Heroku 使用的)css 和资产 404。

我在这里尝试了一堆答案(),但都没有奏效。

这是我的目录结构:

目录结构

我的 config.ru:

我的控制器:

编辑:这就是我引用我的资产的方式

0 投票
0 回答
127 浏览

ruby - 如何使用 rackup/Sinatra 在多个实例之间共享 Redis 键/值?

我正在尝试使用 Redis 作为我的会话存储,这似乎工作得很好。但是我不知道如何让 Sinatra 的多个实例访问同一个会话。这就是我在 config.ru 中的内容:

我必须缺少一个参数来设置它,但这种情况下缺少文档: https ://github.com/redis-store/redis-rack

也许这不是我想要实现这种行为的目的?

最终目标是将我的 Sinatra 应用程序与 docker 一起部署到集群环境中,这样我就可以在不停机的情况下发布新版本。因此,无论让我在多个实例之间共享机架会话是否有效。我想我可以手动创建一个 redis 对象而不使用 session 关键字,这似乎是错误的方法。

0 投票
1 回答
641 浏览

docker - 为 docker 正确设置 rackup puma 的主机

您如何强制 rackup 使用端口 0.0.0.0 以便它可以从 docker 容器内部与您的本地环境进行通信?这是我的代码:



如果我从容器外部运行此命令,它会非常有效。这是我从本地执行此操作时的终端输出:

注意正确的主机:tcp://0.0.0.0:4567. 不幸的是,它在容器中不起作用。这是我使用 docker 执行此操作时的终端输出:

任何想法我做错了什么?