【问题标题】:How can I run two run two passenger servers behind one apache instance?如何在一个 apache 实例后面运行两个运行两个乘客服务器?
【发布时间】:2017-07-21 08:14:44
【问题描述】:

为了在apache后面运行passenger,需要这两个指令:

PassengerRoot
PassengerDefaultRuby

根据文档here,这两个具有“服务器配置”上下文。这意味着 Apache 只能为整个服务器实例设置一个 ruby​​ 版本和一个乘客根。因为,我有两个使用 RVM 运行的 ruby​​ 版本,并且每个 Rails 实例都在自己的虚拟主机上下文中运行,有没有办法为每个虚拟主机设置PassengerRoot 和PassengerDefaultRuby?

PS:Hack-ish 解决方案也是可以接受的。

【问题讨论】:

    标签: ruby-on-rails ruby apache passenger virtualhost


    【解决方案1】:

    不确定为什么需要设置不同的PassengerRoot。您不需要这样做,Passenger root 可以在任何 ruby​​ 版本上,它会正常工作。您应该只需要在虚拟主机中设置PassengerRuby。

    我们通过 RVM 为每个项目设置了带有多个 Ruby 版本/gemset 的 Rails 设置,我们只需将 PassengerRuby 设置为:

    <VirtualHost *:80>
      PassengerRuby /usr/local/rvm/gems/ruby-2.3.0@tomproject/wrappers/ruby
    ...
    </VirtualHost>
    

    只需确保将 PassengerRuby 指向 RVM gemset 中的相关包装器即可。

    作为参考,这是我的passenger.conf(Passenger 是基于 ruby​​ 2.1.1 构建的)

    LoadModule passenger_module /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-enterprise-server-5.0.21/buildout/apache2/mod_passenger.so
    <IfModule mod_passenger.c>
     PassengerRoot /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-enterprise-server-5.0.21
     PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.1.1/wrappers/ruby
        PassengerStatThrottleRate 0
    
        # PassengerMaxPoolSize
        # Default: 6
        # For 2gb RAM: 30
        # For 256 slice with MySQL running: 2
        PassengerMaxPoolSize 12
    
        PassengerMinInstances 0
        PassengerPoolIdleTime 300
        PassengerMemoryLimit 400
    </IfModule>
    

    但有一件事 - 如果您为每个 gemset 安装了Passenger - 不要。在默认的 ruby​​ 版本中全局安装它。以后会让你头疼的。它仍然可以工作,但这不是最佳做法。

    更多信息在这里:https://www.phusionpassenger.com/library/install/apache/install/oss/rubygems_rvm/#i-have-multiple-ruby-versions-or-gemsets.-does-it-matter-which-one-i-use-to-install-passenger-with?

    【讨论】:

    • 这样就完成了。谢了哥们。我可以为我所有的红宝石项目使用相同的乘客安装。
    猜你喜欢
    • 2018-06-13
    • 2015-07-17
    • 2019-12-12
    • 2020-09-26
    • 2020-10-11
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2021-01-20
    相关资源
    最近更新 更多