代码之家  ›  专栏  ›  技术社区  ›  Suavocado

如何在运行时检查我的Rails应用程序是否在开发环境或生产环境中运行

  •  6
  • Suavocado  · 技术社区  · 9 年前

    我正在Centos 6.5服务器上运行一个rails应用程序,带有Passenger和Nginx。如何在不停止的情况下检查它正在运行的环境?

    2 回复  |  直到 9 年前
        1
  •  9
  •   Scott Jacobsen    9 年前

    使用 passenger-status 命令例如,这显示乘客正在运行 production 环境( Application groups 标题):

    (production-web) ubuntu@ip-10-0-3-146 ~% sudo passenger-status                                                              
    Version : 5.0.15
    Date    : 2015-08-20 17:40:24 +0000
    Instance: lNNFwV1C (Apache/2.4.7 (Ubuntu) Phusion_Passenger/5.0.15)
    
    ----------- General information -----------
    Max pool size : 12
    App groups    : 1
    Processes     : 6
    Requests in top-level queue : 0
    
    ----------- Application groups -----------
    /home/my-app/deploy/current (production):
      App root: /home/my-app/deploy/current
      Requests in queue: 0
      * PID: 11123   Sessions: 0       Processed: 12997   Uptime: 21h 14m 2s
        CPU: 0%      Memory  : 190M    Last used: 1s ago
      * PID: 11130   Sessions: 0       Processed: 140     Uptime: 21h 14m 2s
        CPU: 0%      Memory  : 153M    Last used: 9m 32s a
      * PID: 11137   Sessions: 0       Processed: 15      Uptime: 21h 14m 2s
        CPU: 0%      Memory  : 103M    Last used: 57m 54s
      * PID: 11146   Sessions: 0       Processed: 6       Uptime: 21h 14m 2s
        CPU: 0%      Memory  : 101M    Last used: 7h 47m 4
      * PID: 11153   Sessions: 0       Processed: 5       Uptime: 21h 14m 1s
        CPU: 0%      Memory  : 100M    Last used: 8h 42m 3
      * PID: 11160   Sessions: 0       Processed: 2       Uptime: 21h 14m 1s
        CPU: 0%      Memory  : 81M     Last used: 8h 42m 3
    

    rails控制台不可靠,它只告诉您控制台运行的环境。乘客可以被配置为在不同的环境中运行。

        2
  •  8
  •   sjagr    9 年前

    您的环境位于 Rails.env .

    Loading development environment (Rails 4.2.3)
    2.1.2 :001 > Rails.env
     => "development" 
    

    您还可以将环境以问题格式用于条件句:

    2.1.2 :002 > Rails.env.production?
     => false 
    2.1.2 :003 > Rails.env.pickle?
     => false 
    2.1.2 :004 > Rails.env.development?
     => true 
    

    警告-这是如果你想在代码中编写一些检查环境的程序。