如何在我的私有服务器上部署sinatra应用程序?

时间:2015-12-25 09:58:58

标签: ruby deployment sinatra

我是sinatra申请的新手。我用sinatra开发了我的第一个应用程序。现在,我想在我自己的私有服务器上部署此应用程序。我自己的私人服务器是Linux服务器,安装了所有必需的配置(即ruby,sinatra,passenger)。

那么,我想知道如何部署它?

1 个答案:

答案 0 :(得分:0)

这是我们公司对Ruby微服务API的基本设置:

1)将您的Ruby应用程序放在特殊文件夹中

我们喜欢/ srv / applications /

2)为您的应用选择一个端口

不要使用默认端口。我更喜欢2000系列(例如,2000年,2010年,2020年......)中的Ruby应用程序。

3)设置反向代理以访问该端口上的应用程序

根据您的服务器,有许多Apache或Nginx的教程。

那样/ user-api会重定向到你的端口。防爆。 myserver.com/user-api转到myserver.com:2020

4)运行您的应用程序

如果您不使用bundler,请使用bundle运行该应用。要在特定端口上运行,请使用"捆绑exec rackup -p"

然后您应该能够访问该应用程序。如果您遇到麻烦,一些常见问题包括:1)端口被外部世界阻止,2)您在应用程序运行之前尝试访问它,现在即使应用程序正在运行,您仍然可以获得503s(重新启动您的网络服务器)解决它。)

奖金 - 将您的应用程序作为Unix服务运行

这有很多好处。如果您可以使用其他管理员级应用程序运行Ruby应用程序,那么您可以在重新启动时自动启动它,在故障时自动重启应用程序(当您遇到灾难性问题时可能会导致抖动)。

最初我们使用Monit,它通常用于服务监控,但实际上可以为服务启动/停止/重启(启动时启动)。

现在我们使用foremanupstart。我强烈推荐这种配对,因为app监督是Upstart的教科书用例。如果你有一个vanilla配置,你可以跳过使用Foreman,但如果你需要启动其他服务,设置环境变量等,它会非常有用。