Ruby on rails nginx.conf.erb文件中的值来自何处?

Ruby on rails nginx.conf.erb文件中的值来自何处?,ruby-on-rails,passenger,Ruby On Rails,Passenger,我使用的是Phusion Passenger,Rails(单机版)在Heroku上运行。配置文件在Procfile设置中传递 我想更改历史nginx.conf.erb文件。我可以很容易地添加新值,但变量值的来源对我来说并不明显 文件中的示例: error_log '<%= @options[:log_file] %>' <% if @options[:log_level] >= LVL_DEBUG %>info<% end %>; pid '<%=

我使用的是Phusion Passenger,Rails(单机版)在Heroku上运行。配置文件在Procfile设置中传递

我想更改历史nginx.conf.erb文件。我可以很容易地添加新值,但变量值的来源对我来说并不明显

文件中的示例:

error_log '<%= @options[:log_file] %>' <% if @options[:log_level] >= LVL_DEBUG %>info<% end %>;
pid '<%= @options[:pid_file] %>';
error\u log'=LVL\u DEBUG%>信息;
pid’;



服务器{
听
听ssl;
听ssl;
听
服务器名称;

那么@options、@app从何而来?

如果您对乘客单机版使用
nginx.conf.erb
,我假设您只关心适用于乘客的选项,而不关心nginx。所有乘客选项都以前缀
乘客
开头,有一些独特的选项通常在许多应用程序中使用,例如
pid_文件
日志_文件
等。这些文件适用于乘客和nginx,但对于单机版,它们将仅适用于乘客

当您使用命令行选项启动乘客进程时,这些选项将出现:
bundle exec passenger start--log level=3--log file=tmp.log
。如果未提供任何值,它们将使用默认值。例如,启动乘客时会列出PID文件和日志文件的默认值

$ bundle exec passenger start
======= Phusion Passenger Standalone web server started =======
PID file: /Users/phusion/myapp/tmp/pids/passenger.3000.pid   1
Log file: /Users/phusion/myapp/log/passenger.3000.log        2
Environment: development                     3
Accessible via: http://0.0.0.0:3000/         4

You can stop Phusion Passenger Standalone by pressing Ctrl-C.
===============================================================
有多种方法可以设置这些选项,例如通过命令行、在
Passengerfile.json
中或通过环境变量

提示:您还可以在
nginx.conf.erb
中设置
binding.pry
,查看调试模式下
@options
@apps
包含的内容

# Add this as to the top of nginx.conf.erb

<% require 'pry' %>
<% binding.pry %>
#将其添加到nginx.conf.erb的顶部
您可以在此处查看文档:

如果您决定使用Passenger+Nginx,则会有您关心的其他选项,例如Nginx本身需要的@apps和@options中的值,并在启动时进行设置。如果使用Passenger+Nginx,您只需设置两个配置选项,
Passenger\u enabled
Passenger\u root

关于乘客+Nginx的更多详细信息,请参见以下文档:

$ bundle exec passenger start
======= Phusion Passenger Standalone web server started =======
PID file: /Users/phusion/myapp/tmp/pids/passenger.3000.pid   1
Log file: /Users/phusion/myapp/log/passenger.3000.log        2
Environment: development                     3
Accessible via: http://0.0.0.0:3000/         4

You can stop Phusion Passenger Standalone by pressing Ctrl-C.
===============================================================
# Add this as to the top of nginx.conf.erb

<% require 'pry' %>
<% binding.pry %>