从Ruby代码启动Phusion Passenger

时间:2018-05-08 13:44:41

标签: ruby passenger phusion

我想从我的gem代码中启动服务器,Rails启动Unicorn,Puma,Webrick或其他任何“rails server”的方式。我想要一个像“mygem服务器”这样的二进制文件,这将启动Passenger。

我尝试使用反引号,但是如果可能的话,我想避免产生另一个进程。 (另外,当我这样做时,我从乘客那里丢失了标准。)

命令行是启动Passenger的唯一方法吗?

1 个答案:

答案 0 :(得分:0)

Passanger是一个C ++“gem”,它实际上运行与根服务器进程分离的Ruby层。

开发人员认为这种方法可以保护服务器免受Ruby相关问题的影响(我认为这不是必需的,但它确实很有趣)。

这给你留下了几个选择:

  1. 您可以使用Kernel.exec 替换当前流程与您提供的命令行。

  2. 您可以使用其他服务器,例如PumaIodineAgoo或您喜欢的任何服务器。

    每个服务器都有其优点和缺点,因此请进行测试和选择。

    我从经验中知道你可以从一段代码中开始所有这些(或者我记得)。