ruby - 如何在服务器上设置我的 Sinatra REST API?

标签 ruby apache rest server sinatra

我主要是一名 iOS 开发人员。在构建我当前的应用程序时,我需要一个具有 REST API 和几个 GET 请求的服务器。我花了一点时间学习 Ruby,然后开始使用 Sinatra,一个简单的 Web 框架。我可以运行我的服务器脚本,并从浏览器的 localhost:4567 访问它,例如,请求为 localhost:4567/hello

这就是我感到力不从心的地方。我在 DigitalOcean 设置了一个 Ubuntu Droplet,并摸索着通过命令行设置所有必要的工具,直到我现在可以在这个 Droplet 上再次运行我的服务器。

问题是我无法通过 droplet.ip.address:4567 访问我的服务器,一些研究让我发现我需要 Passenger 和 Apache HTTP Server进行设置,然后 not with simple instructions

我实在是太不知所措了,感觉不舒服。一定有一种比我这样做更好的方法来获取我的一小群 ruby​​ 文件并在服务器上运行它。但我不知道自己在做什么。

任何帮助或建议将不胜感激。

最佳答案

bit of research lead me to discovering I need Passenger and an Apache HTTP Server to be setup, and not with simple instructions.

暂时忽略它。首先迈出小步。您应该能够从 DigitalOcean Droplet 上的命令行运行 Sinatra 应用程序,然后通过 droplet.ip.address:4567 访问它。如果这不起作用,则有一些非常根本的错误。

当您启动应用程序时,您将看到应用程序正在监听的地址和端口。确保它是 0.0.0.0 和 4567。如果它是 127.0.0.1localhost,则意味着它将仅服务来自同一台计算机的请求

完成此操作后,下一步是将您的 Sinatra 应用程序变成服务。本质上,这意味着该应用程序在后台运行,并在系统重新启动时自动启动。查看 Supervisor,这是一个非常简单的配置来让它运行。

稍后您可以安装 Apache 或 Nginx 并将其放在您的 Sinatra 应用程序前面。这些代理只是将请求从端口 80(默认 HTTP 端口)转发到您的 sinatra 应用程序,但可以执行其他操作,例如添加 SSL 支持、负载平衡、自定义错误页面等 - 所有这些您现在都不需要。

关于ruby - 如何在服务器上设置我的 Sinatra REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34631278/

相关文章:

apache - PHP 和 MySQL Web 开发,第二版

javascript - 从 JavaScript 发布到 Chatter

ruby-on-rails - 创建大哈希值的 Ruby 方法

ruby - IMAP (Ruby) : Fail to fetch/save audio (. wav) 格式正确的附件

ruby-on-rails - RubyMine/IDEA ruby​​ 调试器无法在 bundle 模式下加载 linecache gem

python - 如何设置 Python 脚本以在 Apache 2.0 中工作?

php - 奇怪的 500 内部服务器错误(firebug、php、display_errors、ajax)

java - JBoss RESTEasy 无法扫描 WEB-INF 中的 JAX-RS 注释

java - Jersey (网络服务): the advantages of StreamingOutput and the best way for create downloading API

ruby-on-rails - Rails - 在索引 View 中显示相关数据