76 lines
2.8 KiB
Plaintext
76 lines
2.8 KiB
Plaintext
server_name <%= app[:server_names].join(' ') %>;
|
|
<% if app[:ssl] %>
|
|
<% if app[:ssl_port] %>
|
|
listen <%= nginx_listen_address(app) %>;
|
|
listen <%= nginx_listen_address_with_ssl_port(app) %> ssl http2;
|
|
<% else %>
|
|
listen <%= nginx_listen_address(app) %> ssl http2;
|
|
<% end %>
|
|
ssl_certificate <%= app[:ssl_certificate] %>;
|
|
ssl_certificate_key <%= app[:ssl_certificate_key] %>;
|
|
<% else %>
|
|
listen <%= nginx_listen_address(app) %>;
|
|
<% end %>
|
|
<% if app[:static_files_dir] %>
|
|
root '<%= app[:static_files_dir] %>';
|
|
<% else %>
|
|
root '<%= app[:root] %>/public';
|
|
<% end %>
|
|
|
|
passenger_app_root '<%= app[:root] %>';
|
|
passenger_enabled on;
|
|
|
|
<% if app[:union_station_key] %>
|
|
union_station_support on;
|
|
union_station_key <%= app[:union_station_key] %>;
|
|
<% end %>
|
|
<% app[:envvars].each_pair do |name, value| %>
|
|
passenger_env_var '<%= name %>' '<%= json_config_value(value) %>';
|
|
<% end %>
|
|
<% if app[:concurrency_model] && app[:concurrency_model] != DEFAULT_CONCURRENCY_MODEL %>
|
|
passenger_concurrency_model <%= app[:concurrency_model] %>;
|
|
<% end %>
|
|
<% if app[:thread_count] && app[:thread_count] != DEFAULT_APP_THREAD_COUNT %>
|
|
passenger_thread_count <%= app[:thread_count] %>;
|
|
<% end %>
|
|
|
|
<%= nginx_option(app, :environment, :passenger_app_env) %>
|
|
<%= nginx_option(app, :ruby) %>
|
|
<%= nginx_option(app, :python) %>
|
|
<%= nginx_option(app, :nodejs) %>
|
|
<%= nginx_option(app, :spawn_method) %>
|
|
<%= nginx_option(app, :app_type) %>
|
|
<%= nginx_option(app, :startup_file) %>
|
|
<%= nginx_option(app, :app_start_command) %>
|
|
<%= nginx_option(app, :app_connect_timeout) %>
|
|
<%= nginx_option(app, :start_timeout) %>
|
|
<%= nginx_option(app, :min_instances) %>
|
|
<%= nginx_option(app, :max_request_queue_size) %>
|
|
<%= nginx_option(app, :restart_dir) %>
|
|
<%= nginx_option(app, :sticky_sessions) %>
|
|
<%= nginx_option(app, :sticky_sessions_cookie_name) %>
|
|
<%= nginx_option(app, :sticky_sessions_cookie_attributes) %>
|
|
<%= nginx_option(app, :vary_turbocache_by_cookie) %>
|
|
<%= nginx_option(app, :meteor_app_settings) %>
|
|
<%= nginx_option(app, :load_shell_envvars) %>
|
|
<%= nginx_option(app, :preload_bundler) %>
|
|
<%= nginx_option(app, :app_file_descriptor_ulimit) %>
|
|
<%= nginx_option(app, :friendly_error_pages) %>
|
|
<%= nginx_option(app, :custom_error_page) %>
|
|
<%= nginx_option(app, :abort_websockets_on_process_shutdown) %>
|
|
<%= nginx_option(app, :force_max_concurrent_requests_per_process) %>
|
|
<%= nginx_option(app, :max_requests) %>
|
|
|
|
<%= nginx_option(app, :rolling_restarts) %>
|
|
<%= nginx_option(app, :resist_deployment_errors) %>
|
|
<%= nginx_option(app, :memory_limit) %>
|
|
<%= nginx_option(app, :max_request_time) %>
|
|
<%= nginx_option(app, :debugger) %>
|
|
|
|
<% app[:unlimited_concurrency_paths].each do |path| %>
|
|
location ~ ^<%= path %>(/.*|$) {
|
|
passenger_app_group_name '<%= app[:root] %>#unlimited_concurrency';
|
|
passenger_force_max_concurrent_requests_per_process 0;
|
|
}
|
|
<% end %>
|