安装一个Ruby应用程序作为Linux服务

有一个非常高评价的缺陷pipe理应用程序称为Redmine。 它是用Ruby编写的。 我能够按照他们的指示使其工作。 但是,我想运行该应用程序作为服务,每次服务器重新启动时自动启动。 你如何去添加一个Ruby网站作为一个Linux服务?

如果你使用的是最新版本的Ubuntu,那么你需要编写一个Upstart脚本 – 以及介绍,/ etc / init中有很多例子。

如果你还在做什么,你会想创build一个init脚本 – redmine wiki有一个例子,专门为redmine量身定制的。

没有“Ruby网站”这样的东西; 一个Rails站点需要运行一个应用程序服务器进程来为应用程序提供请求,这通常是杂种,瘦或独angular兽之一(如果你使用webrick,那么你已经是一个失败者)。

您的select广泛地:

  1. 为它写一个init脚本,按照你的特定发行版的过程在引导时调用这个init脚本
  2. 在cron中使用@reboot规则(uuuuugly)
  3. 使用像daemontools这样的东西来pipe理服务器进程

我做(3),因为它太棒了。 我希望有很多人推荐使用monit来代替daemontools; 我已经这样做了,而且我讨厌每一秒。

您可能对此感兴趣:

http://rubyworks.rubyforge.org/

一旦你的系统正确设置为一个真正的Ruby服务器运行,你可以把你的Redmine应用程序插入到它的环境中。

如果您已经运行apache或其他Web服务器,则不需要将Redmine作为单独的服务运行 – 只需在您的Web服务器上运行即可。 对于Apache只需按照以下说明安装Passenger:

http://www.modrails.com/install.html

然后在Apache中添加一个指向该站点path的条目,如下所示:

<VirtualHost *:80> ServerName www.mycook.com DocumentRoot /webapps/mycook/public <Directory /webapps/mycook/public> Allow from all Options -MultiViews </Directory> </VirtualHost> 

http://www.modrails.com/documentation/Users%20guide%20Apache.html#_deploying_a_ruby_on_rails_application