安装 ruby​​ 应用程序作为 Linux 服务

安装 ruby​​ 应用程序作为 Linux 服务

有一款评价很高的缺陷管理应用程序叫 Redmine。它是用 Ruby 编写的。我按照他们的指示。但是,我想将该应用程序作为服务运行,每次服务器重新启动时都会自动启动。如何将 Ruby 网站添加为 Linux 服务?

答案1

如果你使用的是较新版本的 Ubuntu,你需要输入Upstart 脚本- 除了介绍之外,/etc/init 中还充满了示例。

如果你正在做其他事情,你需要创建一个初始化脚本 -redmine 维基有一个专门为redmine定制的示例。

答案2

不存在所谓的“Ruby 网站”;轨道站点需要运行一个应用服务器进程来为应用程序提供请求服务,这通常是 mongrel、thin 或 unicorn 之一(如果您使用 webrick,那么您已经失败了)。

您的选择大致如下:

  1. 为其编写一个启动脚本,按照特定发行版的程序在启动时调用该启动脚本
  2. 在 cron 中使用 @reboot 规则(uuuuugly)
  3. 使用类似 daemontools 的工具来管理服务器进程

我支持 (3),因为它太棒了。我预计会有很多人推荐用 monit 代替 daemontools;我这样做过,但我讨厌它的每一秒。

答案3

您可能对此感兴趣:

http://rubyworks.rubyforge.org/

一旦您的系统正确设置并作为 Ruby 的真实服务器运行,您就可以将您的 Redmine 应用程序插入到它的环境中。

答案4

如果您已经在运行 apache 或其他 Web 服务器,则无需将 Redmine 作为单独的服务运行 - 只需让它在您的 Web 服务器下运行即可。对于 Apache,只需按照此处的说明安装 Passenger:

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

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

<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

相关内容