Skip to content
This repository has been archived by the owner on Dec 31, 2022. It is now read-only.

Commit

Permalink
Merge 62cda64 into c740f63
Browse files Browse the repository at this point in the history
  • Loading branch information
qazfff committed Dec 10, 2019
2 parents c740f63 + 62cda64 commit 26de495
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 2 deletions.
19 changes: 19 additions & 0 deletions docs/source/attributes.rst
Expand Up @@ -564,6 +564,25 @@ passenger
made to your web server. Useful for certain hybrid static/dynamic
web sites.

- ``app['appserver']['pool_idle_time']``

- **Type:** Integer
- **Default:** 300
- Sets the ``PoolIdleTime`` parameter

- ``app['appserver']['max_request_queue_size']``

- **Type:** Integer
- **Default:** 100
- Sets the ``MaxRequestQueueSize`` parameter

- ``app['appserver']['error_document']``

- **Type:** Hash
- **Default:** off
- Sets the { "status": "file" } parameter
e.g. { "500": "500.html", "503": "503.html" }

webserver
~~~~~~~~~

Expand Down
4 changes: 2 additions & 2 deletions libraries/drivers_appserver_passenger.rb
Expand Up @@ -5,7 +5,7 @@ module Appserver
class Passenger < Drivers::Appserver::Base
adapter :passenger
allowed_engines :passenger
output filter: %i[max_pool_size min_instances mount_point]
output filter: %i[max_pool_size min_instances mount_point pool_idle_time max_request_queue_size error_document]

def manual_action(action); end

Expand All @@ -17,7 +17,7 @@ def add_appserver_service_context; end

def webserver_config_params
o = out
Hash[%i[max_pool_size min_instances mount_point].map { |k| [k, o[k]] }].reject { |_k, v| v.nil? }
Hash[%i[max_pool_size min_instances mount_point pool_idle_time max_request_queue_size error_document].map { |k| [k, o[k]] }].reject { |_k, v| v.nil? }
end
end
end
Expand Down
3 changes: 3 additions & 0 deletions spec/unit/recipes/configure_spec.rb
Expand Up @@ -879,6 +879,9 @@
deploy['dummy_project']['appserver']['max_pool_size'] = 10
deploy['dummy_project']['appserver']['min_instances'] = 5
deploy['dummy_project']['appserver']['mount_point'] = '/some/mount/point'
deploy['dummy_project']['appserver']['pool_idle_time'] = 300
deploy['dummy_project']['appserver']['max_request_queue_size'] = 100
deploy['dummy_project']['appserver']['error_document'] = { "503": "503.html", "504": "504.html" }
deploy['dummy_project']['webserver']['adapter'] = 'apache2'
deploy['dummy_project']['global']['environment'] = 'production'
solo_node.set['deploy'] = deploy
Expand Down
26 changes: 26 additions & 0 deletions templates/default/appserver.apache2.passenger.conf.erb
Expand Up @@ -55,6 +55,12 @@ Header always unset "X-Powered-By"
<% if @appserver_config[:min_instances] -%>
PassengerMinInstances <%= @appserver_config[:min_instances] %>
<% end %>
<% if @appserver_config[:pool_idle_time] -%>
PassengerPoolIdleTime <%= @appserver_config[:pool_idle_time] %>
<% end %>
<% if @appserver_config[:max_request_queue_size] -%>
PassengerMaxRequestQueueSize <%= @appserver_config[:max_request_queue_size] %>
<% end %>

<Location <%= @appserver_config[:mount_point] %>>
PassengerAppEnv <%= @deploy_env %>
Expand All @@ -63,6 +69,13 @@ Header always unset "X-Powered-By"
</Location>

RewriteEngine on

<% if @appserver_config[:error_document] -%>
PassengerErrorOverride on
<% @appserver_config[:error_document].each do | status, file | %>
ErrorDocument <%= status %> "/<%= file %>"
<% end %>
<% end %>
<% end %>
<%= @out[:extra_config] %>
Expand Down Expand Up @@ -138,6 +151,12 @@ SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
<% if @appserver_config[:min_instances] -%>
PassengerMinInstances <%= @appserver_config[:min_instances] %>
<% end %>
<% if @appserver_config[:pool_idle_time] -%>
PassengerPoolIdleTime <%= @appserver_config[:pool_idle_time] %>
<% end %>
<% if @appserver_config[:max_request_queue_size] -%>
PassengerMaxRequestQueueSize <%= @appserver_config[:max_request_queue_size] %>
<% end %>

<Location <%= @appserver_config[:mount_point] %>>
PassengerAppEnv <%= @deploy_env %>
Expand All @@ -149,6 +168,13 @@ SSLStaplingCache "shmcb:logs/stapling-cache(150000)"

RewriteEngine on

<% if @appserver_config[:error_document] -%>
PassengerErrorOverride on
<% @appserver_config[:error_document].each do | status, file | %>
ErrorDocument <%= status %> "/<%= file %>"
<% end %>
<% end %>
<%= @out[:extra_config_ssl] %>

</VirtualHost>
Expand Down

0 comments on commit 26de495

Please sign in to comment.