passenger 3.0.14 → 3.0.15
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- data/README +1 -1
- data/doc/Users guide Apache.html +443 -39
- data/doc/Users guide Apache.idmap.txt +52 -38
- data/doc/Users guide Apache.txt +262 -0
- data/doc/Users guide Nginx.html +412 -38
- data/doc/Users guide Nginx.idmap.txt +53 -39
- data/doc/Users guide Nginx.txt +231 -1
- data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +6 -1
- data/ext/common/Constants.h +1 -1
- data/lib/phusion_passenger.rb +1 -1
- data/lib/phusion_passenger/abstract_installer.rb +1 -1
- data/lib/phusion_passenger/packaging.rb +1 -2
- data/lib/phusion_passenger/templates/error_layout.html.erb +4 -4
- metadata +4 -7
- data/bin/passenger-make-enterprisey +0 -82
- data/man/passenger-make-enterprisey.8 +0 -23
data/README
CHANGED
data/doc/Users guide Apache.html
CHANGED
@@ -2570,15 +2570,138 @@ if responses can be huge. Because entire responses are buffered in memory when t
|
|
2570
2570
|
</div>
|
2571
2571
|
</div>
|
2572
2572
|
<div class="sect2">
|
2573
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="
|
2573
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="PassengerRollingRestarts" data-comment-topic="passengerrollingrestarts">5.11. PassengerRollingRestarts <on|off></h3>
|
2574
|
+
<div class="paragraph"><p><strong>Available in Phusion Passenger Enterprise since version 3.0.0.</strong></p></div>
|
2575
|
+
<div class="paragraph"><p>Enables or disables support for rolling restarts. Normally when you
|
2576
|
+
restart an application (by touching restart.txt), Phusion Passenger would
|
2577
|
+
shut down all application processes and spawn a new one. The spawning
|
2578
|
+
of a new application process could take a while, and any requests that
|
2579
|
+
come in during this time will be blocked until this first application
|
2580
|
+
process has spawned.</p></div>
|
2581
|
+
<div class="paragraph"><p>But when rolling restarts are enabled, Phusion Passenger Enterprise will:</p></div>
|
2582
|
+
<div class="olist arabic"><ol class="arabic">
|
2583
|
+
<li>
|
2584
|
+
<p>
|
2585
|
+
Spawn a new process in the background.
|
2586
|
+
</p>
|
2587
|
+
</li>
|
2588
|
+
<li>
|
2589
|
+
<p>
|
2590
|
+
When it’s done spawning, Phusion Passenger Enterprise will replace one of the old processes with this newly spawned one.
|
2591
|
+
</p>
|
2592
|
+
</li>
|
2593
|
+
<li>
|
2594
|
+
<p>
|
2595
|
+
Step 1 and 2 are repeated until all processes have been replaced.
|
2596
|
+
</p>
|
2597
|
+
</li>
|
2598
|
+
</ol></div>
|
2599
|
+
<div class="paragraph"><p>This way, visitors will not experience any delays when you are restarting your application. This allows you to, for example, upgrade your application often without degrading user experience.</p></div>
|
2600
|
+
<div class="paragraph"><p>Rolling restarts have a few caveat however that you should be aware of:</p></div>
|
2601
|
+
<div class="ulist"><ul>
|
2602
|
+
<li>
|
2603
|
+
<p>
|
2604
|
+
Upgrading an application sometimes involves upgrading the database schema.
|
2605
|
+
With rolling restarts, there may be a point in time during which processes
|
2606
|
+
belonging to the previous version and processes belonging to the new version
|
2607
|
+
both exist at the same time. Any database schema upgrades you perform must
|
2608
|
+
therefore be backwards-compatible with the old application version.
|
2609
|
+
</p>
|
2610
|
+
</li>
|
2611
|
+
<li>
|
2612
|
+
<p>
|
2613
|
+
Because there’s no telling which process will serve a request, users may
|
2614
|
+
not see changes brought about by the new version until all processes have
|
2615
|
+
been restarted. It is for this reason that you should not use rolling
|
2616
|
+
restarts in development, only in production.
|
2617
|
+
</p>
|
2618
|
+
</li>
|
2619
|
+
</ul></div>
|
2620
|
+
<div class="paragraph"><p>This option may occur in the following places:</p></div>
|
2621
|
+
<div class="ulist"><ul>
|
2622
|
+
<li>
|
2623
|
+
<p>
|
2624
|
+
In the global server configuration.
|
2625
|
+
</p>
|
2626
|
+
</li>
|
2627
|
+
<li>
|
2628
|
+
<p>
|
2629
|
+
In a virtual host configuration block.
|
2630
|
+
</p>
|
2631
|
+
</li>
|
2632
|
+
<li>
|
2633
|
+
<p>
|
2634
|
+
In a <span class="monospaced"><Directory></span> or <span class="monospaced"><Location></span> block.
|
2635
|
+
</p>
|
2636
|
+
</li>
|
2637
|
+
<li>
|
2638
|
+
<p>
|
2639
|
+
In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span> is on.
|
2640
|
+
</p>
|
2641
|
+
</li>
|
2642
|
+
</ul></div>
|
2643
|
+
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>off</em>.</p></div>
|
2644
|
+
</div>
|
2645
|
+
<div class="sect2">
|
2646
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_passengerresistdeploymenterrors_lt_on_off_gt" data-comment-topic="passengerresistdeploymenterrors">5.12. PassengerResistDeploymentErrors <on|off></h3>
|
2647
|
+
<div class="paragraph"><p><strong>Available in Phusion Passenger Enterprise since version 3.0.0.</strong></p></div>
|
2648
|
+
<div class="paragraph"><p>Enables or disables resistance against deployment errors.</p></div>
|
2649
|
+
<div class="paragraph"><p>Suppose you’ve upgraded your application and you’ve issues a command to restart it (by touching restart.txt), but the application code contains an error that prevents Phusion Passenger from successfully spawning a process (e.g. a syntax error). Phusion Passenger would normally display an error message in response to this.</p></div>
|
2650
|
+
<div class="paragraph"><p>By enabling deployment error resistance, Phusion Passenger Enterprise would instead do this:</p></div>
|
2651
|
+
<div class="ulist"><ul>
|
2652
|
+
<li>
|
2653
|
+
<p>
|
2654
|
+
It passes the request to one of the existing application processes (that belong to the previous version of the application). The visitor will not see a Phusion Passenger process spawning error message.
|
2655
|
+
</p>
|
2656
|
+
</li>
|
2657
|
+
<li>
|
2658
|
+
<p>
|
2659
|
+
It logs the error to the global web server error log file.
|
2660
|
+
</p>
|
2661
|
+
</li>
|
2662
|
+
<li>
|
2663
|
+
<p>
|
2664
|
+
It sets an internal flag so that no processes for this application will be spawned (even when the current traffic would normally result in more processes being spawned) and no processes will be idle cleaned. Processes <strong>could</strong> still be shutdown because of other events, e.g. because their <a href="#PassengerMemoryLimit">memory limit</a> have been reached.
|
2665
|
+
</p>
|
2666
|
+
</li>
|
2667
|
+
</ul></div>
|
2668
|
+
<div class="paragraph"><p>This way, visitors will suffer minimally from deployment errors. Phusion Passenger will attempt to restart the application again next time restart.txt is touched.</p></div>
|
2669
|
+
<div class="paragraph"><p>Enabling deployment error resistance only works if <a href="#PassengerRollingRestarts">rolling restart</a> is also enabled.</p></div>
|
2670
|
+
<div class="paragraph"><p>This option may occur in the following places:</p></div>
|
2671
|
+
<div class="ulist"><ul>
|
2672
|
+
<li>
|
2673
|
+
<p>
|
2674
|
+
In the global server configuration.
|
2675
|
+
</p>
|
2676
|
+
</li>
|
2677
|
+
<li>
|
2678
|
+
<p>
|
2679
|
+
In a virtual host configuration block.
|
2680
|
+
</p>
|
2681
|
+
</li>
|
2682
|
+
<li>
|
2683
|
+
<p>
|
2684
|
+
In a <span class="monospaced"><Directory></span> or <span class="monospaced"><Location></span> block.
|
2685
|
+
</p>
|
2686
|
+
</li>
|
2687
|
+
<li>
|
2688
|
+
<p>
|
2689
|
+
In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span> is on.
|
2690
|
+
</p>
|
2691
|
+
</li>
|
2692
|
+
</ul></div>
|
2693
|
+
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>off</em>.</p></div>
|
2694
|
+
</div>
|
2695
|
+
<div class="sect2">
|
2696
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_security_options" data-comment-topic="security-options-1pb75ho">5.13. Security options</h3>
|
2574
2697
|
<div class="sect3">
|
2575
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerUserSwitching" data-comment-topic="passengeruserswitching
|
2698
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerUserSwitching" data-comment-topic="passengeruserswitching">5.13.1. PassengerUserSwitching <on|off></h4>
|
2576
2699
|
<div class="paragraph"><p>Whether to enable <a href="#user_switching">user switching support</a>.</p></div>
|
2577
2700
|
<div class="paragraph"><p>This option may only occur once, in the global server configuration.
|
2578
2701
|
The default value is <em>on</em>.</p></div>
|
2579
2702
|
</div>
|
2580
2703
|
<div class="sect3">
|
2581
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengeruser_lt_username_gt" data-comment-topic="passengeruser
|
2704
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengeruser_lt_username_gt" data-comment-topic="passengeruser">5.13.2. PassengerUser <username></h4>
|
2582
2705
|
<div class="paragraph"><p>If <a href="#user_switching">user switching support</a> is enabled, then Phusion Passenger will
|
2583
2706
|
by default run the web application as the owner of the file <em>config/environment.rb</em>
|
2584
2707
|
(for Rails apps) or <em>config.ru</em> (for Rack apps). This option allows you to override
|
@@ -2605,7 +2728,7 @@ In a <span class="monospaced"><Directory></span> or <span class="monospace
|
|
2605
2728
|
<div class="paragraph"><p>In each place, it may be specified at most once.</p></div>
|
2606
2729
|
</div>
|
2607
2730
|
<div class="sect3">
|
2608
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengergroup_lt_group_name_gt" data-comment-topic="passengergroup
|
2731
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengergroup_lt_group_name_gt" data-comment-topic="passengergroup">5.13.3. PassengerGroup <group name></h4>
|
2609
2732
|
<div class="paragraph"><p>If <a href="#user_switching">user switching support</a> is enabled, then Phusion Passenger will
|
2610
2733
|
by default run the web application as the primary group of the owner of the file
|
2611
2734
|
<em>config/environment.rb</em> (for Rails apps) or <em>config.ru</em> (for Rack apps). This option
|
@@ -2634,7 +2757,7 @@ In a <span class="monospaced"><Directory></span> or <span class="monospace
|
|
2634
2757
|
<div class="paragraph"><p>In each place, it may be specified at most once.</p></div>
|
2635
2758
|
</div>
|
2636
2759
|
<div class="sect3">
|
2637
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerDefaultUser" data-comment-topic="passengerdefaultuser
|
2760
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerDefaultUser" data-comment-topic="passengerdefaultuser">5.13.4. PassengerDefaultUser <username></h4>
|
2638
2761
|
<div class="paragraph"><p>Phusion Passenger enables <a href="#user_switching">user switching support</a> by default.
|
2639
2762
|
This configuration option allows one to specify the user that applications must
|
2640
2763
|
run as, if user switching fails or is disabled.</p></div>
|
@@ -2642,7 +2765,7 @@ run as, if user switching fails or is disabled.</p></div>
|
|
2642
2765
|
The default value is <em>nobody</em>.</p></div>
|
2643
2766
|
</div>
|
2644
2767
|
<div class="sect3">
|
2645
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerDefaultGroup" data-comment-topic="passengerdefaultgroup
|
2768
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerDefaultGroup" data-comment-topic="passengerdefaultgroup">5.13.5. PassengerDefaultGroup <group name></h4>
|
2646
2769
|
<div class="paragraph"><p>Phusion Passenger enables <a href="#user_switching">user switching support</a> by default.
|
2647
2770
|
This configuration option allows one to specify the group that applications must
|
2648
2771
|
run as, if user switching fails or is disabled.</p></div>
|
@@ -2651,7 +2774,7 @@ The default value is the primary group of the user specifified by
|
|
2651
2774
|
<a href="#PassengerDefaultUser">PassengerDefaultUser</a>.</p></div>
|
2652
2775
|
</div>
|
2653
2776
|
<div class="sect3">
|
2654
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerfriendlyerrorpages_lt_on_off_gt" data-comment-topic="passengerfriendlyerrorpages
|
2777
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerfriendlyerrorpages_lt_on_off_gt" data-comment-topic="passengerfriendlyerrorpages">5.13.6. PassengerFriendlyErrorPages <on|off></h4>
|
2655
2778
|
<div class="paragraph"><p>Phusion Passenger can display friendly error pages whenever an application fails
|
2656
2779
|
to start. This friendly error page presents the startup error message, some
|
2657
2780
|
suggestions for solving the problem, and a backtrace. This feature is very useful
|
@@ -2686,9 +2809,9 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span>
|
|
2686
2809
|
</div>
|
2687
2810
|
</div>
|
2688
2811
|
<div class="sect2">
|
2689
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_resource_control_and_optimization_options" data-comment-topic="resource-control-and-optimization-options-zu2f7u">5.
|
2812
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_resource_control_and_optimization_options" data-comment-topic="resource-control-and-optimization-options-zu2f7u">5.14. Resource control and optimization options</h3>
|
2690
2813
|
<div class="sect3">
|
2691
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengermaxpoolsize_lt_integer_gt" data-comment-topic="passengermaxpoolsize-integer--am64q8">5.
|
2814
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengermaxpoolsize_lt_integer_gt" data-comment-topic="passengermaxpoolsize-integer--am64q8">5.14.1. PassengerMaxPoolSize <integer></h4>
|
2692
2815
|
<div class="paragraph"><p>The maximum number of <a href="#application_process">application processes</a> that may
|
2693
2816
|
simultaneously exist. A larger number results in higher memory usage,
|
2694
2817
|
but improved ability to handle concurrent HTTP clients.</p></div>
|
@@ -2715,7 +2838,7 @@ by about 33%, and it’s not hard to install.</td>
|
|
2715
2838
|
</div>
|
2716
2839
|
</div>
|
2717
2840
|
<div class="sect3">
|
2718
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMinInstances" data-comment-topic="passengermininstances-integer--wegq6b">5.
|
2841
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMinInstances" data-comment-topic="passengermininstances-integer--wegq6b">5.14.2. PassengerMinInstances <integer></h4>
|
2719
2842
|
<div class="paragraph"><p>This specifies the minimum number of application processes that should exist for a
|
2720
2843
|
given application. You should set this option to a
|
2721
2844
|
non-zero value if you want to avoid potentially long startup times after a website
|
@@ -2786,7 +2909,48 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Limits</span> i
|
|
2786
2909
|
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>1</em>.</p></div>
|
2787
2910
|
</div>
|
2788
2911
|
<div class="sect3">
|
2789
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="
|
2912
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengermaxinstances_lt_integer_gt" data-comment-topic="passengermaxinstances">5.14.3. PassengerMaxInstances <integer></h4>
|
2913
|
+
<div class="paragraph"><p><strong>Available in Phusion Passenger Enterprise since version 3.0.0.</strong></p></div>
|
2914
|
+
<div class="paragraph"><p>The maximum number of application processes that may simultaneously exist
|
2915
|
+
for an application. This helps to make sure that a single application
|
2916
|
+
will not occupy all available slots in the application pool.</p></div>
|
2917
|
+
<div class="paragraph"><p>This value must be less than <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>. A value of 0
|
2918
|
+
means that there is no limit placed on the number of processes a single application
|
2919
|
+
may spawn, i.e. only the global limit of <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>
|
2920
|
+
will be enforced.</p></div>
|
2921
|
+
<div class="paragraph"><p>This option may occur in the following places:</p></div>
|
2922
|
+
<div class="ulist"><ul>
|
2923
|
+
<li>
|
2924
|
+
<p>
|
2925
|
+
In the global server configuration.
|
2926
|
+
</p>
|
2927
|
+
</li>
|
2928
|
+
<li>
|
2929
|
+
<p>
|
2930
|
+
In a virtual host configuration block.
|
2931
|
+
</p>
|
2932
|
+
</li>
|
2933
|
+
</ul></div>
|
2934
|
+
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>0</em>.</p></div>
|
2935
|
+
<div class="admonitionblock">
|
2936
|
+
<table><tr>
|
2937
|
+
<td class="icon">
|
2938
|
+
<img src="./images/icons/tip.png" alt="Tip">
|
2939
|
+
</td>
|
2940
|
+
<td class="content">
|
2941
|
+
<div class="title">Practical usage example</div>
|
2942
|
+
<div class="paragraph"><p>Suppose that you’re hosting two web applications on your server, a personal
|
2943
|
+
blog and an e-commerce website. You’ve set <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>
|
2944
|
+
to 10. The e-commerce website is more important to you. You can then set
|
2945
|
+
<em>PassengerMaxInstances</em> to 3 for your blog, so that it will never spawn more
|
2946
|
+
than 3 processes, even if it suddenly gets a lot of traffic. Your e-commerce website
|
2947
|
+
on the other hand will be free to spawn up to 10 processes if it gets a lot of traffic.</p></div>
|
2948
|
+
</td>
|
2949
|
+
</tr></table>
|
2950
|
+
</div>
|
2951
|
+
</div>
|
2952
|
+
<div class="sect3">
|
2953
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengermaxinstancesperapp_lt_integer_gt" data-comment-topic="passengermaxinstancesperapp">5.14.4. PassengerMaxInstancesPerApp <integer></h4>
|
2790
2954
|
<div class="paragraph"><p>The maximum number of application processes that may simultaneously exist
|
2791
2955
|
for a single application. This helps to make sure that a single application
|
2792
2956
|
will not occupy all available slots in the application pool.</p></div>
|
@@ -2796,9 +2960,50 @@ may use, i.e. only the global limit of <a href="#PassengerMaxPoolSize">Passenger
|
|
2796
2960
|
will be enforced.</p></div>
|
2797
2961
|
<div class="paragraph"><p>This option may only occur once, in the global server configuration.
|
2798
2962
|
The default value is <em>0</em>.</p></div>
|
2963
|
+
<div class="admonitionblock">
|
2964
|
+
<table><tr>
|
2965
|
+
<td class="icon">
|
2966
|
+
<img src="./images/icons/tip.png" alt="Tip">
|
2967
|
+
</td>
|
2968
|
+
<td class="content">
|
2969
|
+
<div class="title">Practical usage example</div>
|
2970
|
+
<div class="paragraph"><p>Suppose that you’re hosting two blogs (blog A and B) on your server, and that
|
2971
|
+
you’ve set <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a> to 10. Under normal
|
2972
|
+
circumstances, if blog A suddenly gets a lot of traffic, then A will use all 10
|
2973
|
+
pool slots. If blog B suddenly gets some traffic, then it will only be able to
|
2974
|
+
use 1 pool slot (forcefully releasing 1 slot from A) until A’s traffic has
|
2975
|
+
settled down and it has released more pool slots.</p></div>
|
2976
|
+
<div class="paragraph"><p>If you consider both blogs equally important, then you can set
|
2977
|
+
<em>PassengerMaxInstancesPerApp</em> to 5. This way, both blogs will never use more
|
2978
|
+
than 5 pool slots.</p></div>
|
2979
|
+
</td>
|
2980
|
+
</tr></table>
|
2981
|
+
</div>
|
2982
|
+
<div class="admonitionblock">
|
2983
|
+
<table><tr>
|
2984
|
+
<td class="icon">
|
2985
|
+
<img src="./images/icons/note.png" alt="Note">
|
2986
|
+
</td>
|
2987
|
+
<td class="content">
|
2988
|
+
<div class="title">Relation with PassengerMaxInstances</div>
|
2989
|
+
<div class="paragraph"><p>Unlike <a href="#PassengerMaxInstances">PassengerMaxInstances</a>, this configuration
|
2990
|
+
option is global and applies to all applications. <em>PassengerMaxInstances</em> on the
|
2991
|
+
other hand is per-virtual host.</p></div>
|
2992
|
+
<div class="paragraph"><p>Suppose that you’re hosting two web applications on your server, a personal
|
2993
|
+
blog and an e-commerce website. You’ve set <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>
|
2994
|
+
to 10. The e-commerce website is more important to you. You can then set
|
2995
|
+
<em>PassengerMaxInstances</em> to 3 for your blog, so that it will never use more than
|
2996
|
+
3 pool slots, even if it suddenly gets a lot of traffic. Your e-commerce website
|
2997
|
+
on the other hand will be free to use up all 10 slots if it gets a lot of traffic.</p></div>
|
2998
|
+
<div class="paragraph"><p>In summary, <em>PassengerMaxInstancesPerApp</em> divides the pool equally among the
|
2999
|
+
different web applications, while <em>PassengerMaxInstances</em> allows one to divide
|
3000
|
+
the pool unequally, according to each web application’s relative importance.</p></div>
|
3001
|
+
</td>
|
3002
|
+
</tr></table>
|
3003
|
+
</div>
|
2799
3004
|
</div>
|
2800
3005
|
<div class="sect3">
|
2801
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerPoolIdleTime" data-comment-topic="passengerpoolidletime-integer--a3gunq">5.
|
3006
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerPoolIdleTime" data-comment-topic="passengerpoolidletime-integer--a3gunq">5.14.5. PassengerPoolIdleTime <integer></h4>
|
2802
3007
|
<div class="paragraph"><p>The maximum number of seconds that an application process may be idle. That is,
|
2803
3008
|
if an application process hasn’t received any traffic after the given number of
|
2804
3009
|
seconds, then it will be shutdown in order to conserve memory.</p></div>
|
@@ -2820,7 +3025,7 @@ applications, each which must be available at all times.</p></div>
|
|
2820
3025
|
The default value is <em>300</em>.</p></div>
|
2821
3026
|
</div>
|
2822
3027
|
<div class="sect3">
|
2823
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMaxRequests" data-comment-topic="passengermaxrequests
|
3028
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMaxRequests" data-comment-topic="passengermaxrequests">5.14.6. PassengerMaxRequests <integer></h4>
|
2824
3029
|
<div class="paragraph"><p>The maximum number of requests an application process will process. After
|
2825
3030
|
serving that many requests, the application process will be shut down and
|
2826
3031
|
Phusion Passenger will restart it. A value of 0 means that there is no maximum:
|
@@ -2868,7 +3073,162 @@ measure to avoid memory leaks.</p></div>
|
|
2868
3073
|
</div>
|
2869
3074
|
</div>
|
2870
3075
|
<div class="sect3">
|
2871
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="
|
3076
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMaxRequestTime" data-comment-topic="passengermaxrequesttime-seconds--7qnz3x">5.14.7. PassengerMaxRequestTime <seconds></h4>
|
3077
|
+
<div class="paragraph"><p><strong>Available in Phusion Passenger Enterprise since version 3.0.0.</strong></p></div>
|
3078
|
+
<div class="paragraph"><p>The maximum amount of time, in seconds, that an application process may take
|
3079
|
+
to process a request. If the request takes longer than this amount of time,
|
3080
|
+
then the application process will be forcefully shut down, and possibly
|
3081
|
+
restarted upon the next request. A value of 0 means that there is no time limit.</p></div>
|
3082
|
+
<div class="paragraph"><p>This option is useful for preventing your application from freezing for an
|
3083
|
+
indefinite period of time.</p></div>
|
3084
|
+
<div class="paragraph"><p>This option may occur in the following places:</p></div>
|
3085
|
+
<div class="ulist"><ul>
|
3086
|
+
<li>
|
3087
|
+
<p>
|
3088
|
+
In the global server configuration.
|
3089
|
+
</p>
|
3090
|
+
</li>
|
3091
|
+
<li>
|
3092
|
+
<p>
|
3093
|
+
In a virtual host configuration block.
|
3094
|
+
</p>
|
3095
|
+
</li>
|
3096
|
+
<li>
|
3097
|
+
<p>
|
3098
|
+
In a <span class="monospaced"><Directory></span> or <span class="monospaced"><Location></span> block.
|
3099
|
+
</p>
|
3100
|
+
</li>
|
3101
|
+
<li>
|
3102
|
+
<p>
|
3103
|
+
In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Limits</span> is on.
|
3104
|
+
</p>
|
3105
|
+
</li>
|
3106
|
+
</ul></div>
|
3107
|
+
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>0</em>.</p></div>
|
3108
|
+
<div class="paragraph">
|
3109
|
+
<div class="title">Example</div>
|
3110
|
+
<p>Suppose that most of your requests are known to finish within 2 seconds.
|
3111
|
+
However, there is one URI, <em>/expensive_computation</em>, which is known to take up
|
3112
|
+
to 10 seconds. You can then configure Phusion Passenger as follows:</p>
|
3113
|
+
</div>
|
3114
|
+
<div class="listingblock">
|
3115
|
+
<div class="content monospaced">
|
3116
|
+
<pre><VirtualHost *:80>
|
3117
|
+
ServerName www.example.com
|
3118
|
+
DocumentRoot /webapps/my_app/public
|
3119
|
+
|
3120
|
+
PassengerMaxRequestTime 2
|
3121
|
+
<Location /expensive_computation>
|
3122
|
+
PassengerMaxRequestTime 10
|
3123
|
+
</Location>
|
3124
|
+
</VirtualHost></pre>
|
3125
|
+
</div>
|
3126
|
+
</div>
|
3127
|
+
<div class="paragraph"><p>If a request to <em>/expensive_computation</em> takes more than 10 seconds,
|
3128
|
+
or if a request to any other URI takes more than 2 seconds,
|
3129
|
+
then the corresponding application process will be forced to shutdown.</p></div>
|
3130
|
+
<div class="admonitionblock">
|
3131
|
+
<table><tr>
|
3132
|
+
<td class="icon">
|
3133
|
+
<img src="./images/icons/caution.png" alt="Caution">
|
3134
|
+
</td>
|
3135
|
+
<td class="content">
|
3136
|
+
<div class="paragraph"><p>The <a href="#PassengerMaxRequestTime">PassengerMaxRequestTime</a> directive should be
|
3137
|
+
considered as a workaround for misbehaving applications. It is advised that you
|
3138
|
+
fix the problem in your application rather than relying on these directives as a
|
3139
|
+
measure to avoid freezing applications.</p></div>
|
3140
|
+
</td>
|
3141
|
+
</tr></table>
|
3142
|
+
</div>
|
3143
|
+
</div>
|
3144
|
+
<div class="sect3">
|
3145
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMemoryLimit" data-comment-topic="passengermemorylimit">5.14.8. PassengerMemoryLimit <integer></h4>
|
3146
|
+
<div class="paragraph"><p><strong>Available in Phusion Passenger Enterprise since version 3.0.0.</strong></p></div>
|
3147
|
+
<div class="paragraph"><p>The maximum amount of memory that an application process may use, in megabytes.
|
3148
|
+
Once an application process has surpassed its memory limit, it will process
|
3149
|
+
all the requests currently present in its queue and then shut down.
|
3150
|
+
A value of 0 means that there is no maximum: the application’s memory usage
|
3151
|
+
will not be checked.</p></div>
|
3152
|
+
<div class="paragraph"><p>This option is useful if your application is leaking memory. By shutting
|
3153
|
+
it down, all of its memory is guaranteed to be freed by the operating system.</p></div>
|
3154
|
+
<div class="paragraph"><p>This option may occur in the following places:</p></div>
|
3155
|
+
<div class="ulist"><ul>
|
3156
|
+
<li>
|
3157
|
+
<p>
|
3158
|
+
In the global server configuration.
|
3159
|
+
</p>
|
3160
|
+
</li>
|
3161
|
+
<li>
|
3162
|
+
<p>
|
3163
|
+
In a virtual host configuration block.
|
3164
|
+
</p>
|
3165
|
+
</li>
|
3166
|
+
<li>
|
3167
|
+
<p>
|
3168
|
+
In a <span class="monospaced"><Directory></span> or <span class="monospaced"><Location></span> block.
|
3169
|
+
</p>
|
3170
|
+
</li>
|
3171
|
+
<li>
|
3172
|
+
<p>
|
3173
|
+
In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Limits</span> is on.
|
3174
|
+
</p>
|
3175
|
+
</li>
|
3176
|
+
</ul></div>
|
3177
|
+
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>200</em>.</p></div>
|
3178
|
+
<div class="admonitionblock">
|
3179
|
+
<table><tr>
|
3180
|
+
<td class="icon">
|
3181
|
+
<img src="./images/icons/note.png" alt="Note">
|
3182
|
+
</td>
|
3183
|
+
<td class="content">
|
3184
|
+
<div class="title">A word about permissions</div>
|
3185
|
+
<div class="paragraph"><p>The <a href="#PassengerMemoryLimit">PassengerMemoryLimit</a> directive requires that the
|
3186
|
+
user that the application is running as (see <a href="#PassengerUserSwitching">PassengerUserSwitching</a>)
|
3187
|
+
to have access to the <span class="monospaced">/proc</span> file system, or to be able to inspect its status
|
3188
|
+
with <span class="monospaced">ps</span> (which on Linux and FreeBSD systems basically means the same thing, since <span class="monospaced">ps</span>
|
3189
|
+
reads process information from <span class="monospaced">/proc</span>). Therefore, on servers running with
|
3190
|
+
tight permissions on <span class="monospaced">/proc</span>, this directive may not work. If you wish to use
|
3191
|
+
this directive and your <span class="monospaced">/proc</span> permissions are too tight, then please consider
|
3192
|
+
untightening the permissions.</p></div>
|
3193
|
+
</td>
|
3194
|
+
</tr></table>
|
3195
|
+
</div>
|
3196
|
+
<div class="admonitionblock">
|
3197
|
+
<table><tr>
|
3198
|
+
<td class="icon">
|
3199
|
+
<img src="./images/icons/tip.png" alt="Tip">
|
3200
|
+
</td>
|
3201
|
+
<td class="content">
|
3202
|
+
<div class="title">FreeBSD and <span class="monospaced">/proc</span>
|
3203
|
+
</div>
|
3204
|
+
<div class="paragraph"><p>On many FreeBSD systems, <span class="monospaced">/proc</span> is not mounted by default. <span class="monospaced">/proc</span> <strong>must</strong> be
|
3205
|
+
mounted in order for <a href="#PassengerMemoryLimit">PassengerMemoryLimit</a> to work.</p></div>
|
3206
|
+
<div class="paragraph"><p>It is also advised that you mount <span class="monospaced">/proc</span> with the <span class="monospaced">linprocfs</span> filesystem type
|
3207
|
+
instead of the regular FreeBSD <span class="monospaced">proc</span> filesystem type. The <span class="monospaced">linprocfs</span> filesystem
|
3208
|
+
type allows Phusion Passenger to read memory information from <span class="monospaced">/proc</span> directly,
|
3209
|
+
which is very fast. If you mount <span class="monospaced">/proc</span> with a different filesystem type, then
|
3210
|
+
Phusion Passenger must resort to querying memory information from the <span class="monospaced">ps</span> command,
|
3211
|
+
which is a lot slower.</p></div>
|
3212
|
+
</td>
|
3213
|
+
</tr></table>
|
3214
|
+
</div>
|
3215
|
+
<div class="admonitionblock">
|
3216
|
+
<table><tr>
|
3217
|
+
<td class="icon">
|
3218
|
+
<img src="./images/icons/caution.png" alt="Caution">
|
3219
|
+
</td>
|
3220
|
+
<td class="content">
|
3221
|
+
<div class="paragraph"><p>The <a href="#PassengerMaxRequests">PassengerMaxRequests</a> and
|
3222
|
+
<a href="#PassengerMemoryLimit">PassengerMemoryLimit</a> directives should be considered
|
3223
|
+
as workarounds for misbehaving applications. It is advised that you fix the
|
3224
|
+
problem in your application rather than relying on these directives as a
|
3225
|
+
measure to avoid memory leaks.</p></div>
|
3226
|
+
</td>
|
3227
|
+
</tr></table>
|
3228
|
+
</div>
|
3229
|
+
</div>
|
3230
|
+
<div class="sect3">
|
3231
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerstatthrottlerate_lt_integer_gt" data-comment-topic="passengerstatthrottlerate">5.14.9. PassengerStatThrottleRate <integer></h4>
|
2872
3232
|
<div class="paragraph"><p>By default, Phusion Passenger performs several filesystem checks (or, in
|
2873
3233
|
programmers jargon, <em>stat() calls</em>) each time a request is processed:</p></div>
|
2874
3234
|
<div class="ulist"><ul>
|
@@ -2920,7 +3280,7 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Limits</span> i
|
|
2920
3280
|
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>0</em>.</p></div>
|
2921
3281
|
</div>
|
2922
3282
|
<div class="sect3">
|
2923
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerPreStart" data-comment-topic="passengerprestart-url--
|
3283
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerPreStart" data-comment-topic="passengerprestart-url--1dvgku9">5.14.10. PassengerPreStart <url></h4>
|
2924
3284
|
<div class="paragraph"><p>By default, Phusion Passenger does not start any application processes until said
|
2925
3285
|
web application is first accessed. The result is that the first visitor of said
|
2926
3286
|
web application might experience a small delay as Phusion Passenger is starting
|
@@ -3158,7 +3518,7 @@ the request ending up at a different web server in the cluster.</p></div>
|
|
3158
3518
|
</div>
|
3159
3519
|
</div>
|
3160
3520
|
<div class="sect3">
|
3161
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerHighPerformance" data-comment-topic="passengerhighperformance-on-off--
|
3521
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerHighPerformance" data-comment-topic="passengerhighperformance-on-off--zgc547">5.14.11. PassengerHighPerformance <on|off></h4>
|
3162
3522
|
<div class="paragraph"><p>By default, Phusion Passenger is compatible with mod_rewrite and most other
|
3163
3523
|
Apache modules. However, a lot of effort is required in order to be compatible.
|
3164
3524
|
If you turn <em>PassengerHighPerformance</em> to <em>on</em>, then Phusion Passenger will be
|
@@ -3242,9 +3602,9 @@ then you can enable high performance mode for a certain URL only. For example:</
|
|
3242
3602
|
</div>
|
3243
3603
|
</div>
|
3244
3604
|
<div class="sect2">
|
3245
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_compatibility_options" data-comment-topic="compatibility-options-8jve5a">5.
|
3605
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_compatibility_options" data-comment-topic="compatibility-options-8jve5a">5.15. Compatibility options</h3>
|
3246
3606
|
<div class="sect3">
|
3247
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerResolveSymlinksInDocumentRoot" data-comment-topic="passengerresolvesymlinksindocumentroot-on-off--
|
3607
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerResolveSymlinksInDocumentRoot" data-comment-topic="passengerresolvesymlinksindocumentroot-on-off--1r0qcp8">5.15.1. PassengerResolveSymlinksInDocumentRoot <on|off></h4>
|
3248
3608
|
<div class="paragraph"><p>Configures whether Phusion Passenger should resolve symlinks in the document root.
|
3249
3609
|
Please refer to <a href="#application_detection">How Phusion Passenger detects whether a virtual host is a web application</a> for more information.</p></div>
|
3250
3610
|
<div class="paragraph"><p>This option may occur in the following places:</p></div>
|
@@ -3273,7 +3633,7 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span>
|
|
3273
3633
|
<div class="paragraph"><p>In each place, it may be specified at most once. It is off by default.</p></div>
|
3274
3634
|
</div>
|
3275
3635
|
<div class="sect3">
|
3276
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerallowencodedslashes_lt_on_off_gt" data-comment-topic="passengerallowencodedslashes-on-off--
|
3636
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerallowencodedslashes_lt_on_off_gt" data-comment-topic="passengerallowencodedslashes-on-off--1y3s1ww">5.15.2. PassengerAllowEncodedSlashes <on|off></h4>
|
3277
3637
|
<div class="paragraph"><p>By default, Apache doesn’t support URLs with encoded slashes (%2f), e.g. URLs like
|
3278
3638
|
this: <span class="monospaced">/users/fujikura%2fyuu</span>. If you access such an URL then Apache will return a
|
3279
3639
|
404 Not Found error. This can be solved by turning on PassengerAllowEncodedSlashes
|
@@ -3342,9 +3702,9 @@ displaying maintenance.html will work fine even for URLs starting with "/users".
|
|
3342
3702
|
</div>
|
3343
3703
|
</div>
|
3344
3704
|
<div class="sect2">
|
3345
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_logging_and_debugging_options" data-comment-topic="logging-and-debugging-options-el2cuc">5.
|
3705
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_logging_and_debugging_options" data-comment-topic="logging-and-debugging-options-el2cuc">5.16. Logging and debugging options</h3>
|
3346
3706
|
<div class="sect3">
|
3347
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerloglevel_lt_integer_gt" data-comment-topic="passengerloglevel-integer--
|
3707
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerloglevel_lt_integer_gt" data-comment-topic="passengerloglevel-integer--1v67p8l">5.16.1. PassengerLogLevel <integer></h4>
|
3348
3708
|
<div class="paragraph"><p>This option allows one to specify how much information Phusion Passenger should
|
3349
3709
|
write to the Apache error log file. A higher log level value means that more
|
3350
3710
|
information will be logged.</p></div>
|
@@ -3377,17 +3737,56 @@ information will be logged.</p></div>
|
|
3377
3737
|
The default is <em>0</em>.</p></div>
|
3378
3738
|
</div>
|
3379
3739
|
<div class="sect3">
|
3380
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerdebuglogfile_lt_filename_gt" data-comment-topic="passengerdebuglogfile-filename--
|
3740
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerdebuglogfile_lt_filename_gt" data-comment-topic="passengerdebuglogfile-filename--1tfy4z9">5.16.2. PassengerDebugLogFile <filename></h4>
|
3381
3741
|
<div class="paragraph"><p>By default Phusion Passenger debugging and error messages are written to the global
|
3382
3742
|
web server error log. This option allows one to specify the file that debugging and
|
3383
3743
|
error messages should be written to instead.</p></div>
|
3384
3744
|
<div class="paragraph"><p>This option may only occur once, in the global server configuration.</p></div>
|
3385
3745
|
</div>
|
3746
|
+
<div class="sect3">
|
3747
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerdebugger_lt_on_off_gt" data-comment-topic="passengerdebugger-on-off--1lgdk7g">5.16.3. PassengerDebugger <on|off></h4>
|
3748
|
+
<div class="paragraph"><p><strong>Available in Phusion Passenger Enterprise since version 3.0.0.</strong></p></div>
|
3749
|
+
<div class="paragraph"><p>Turns support for application debugging on or off. In case of Ruby applications,
|
3750
|
+
turning this option on will cause them to load the <span class="monospaced">ruby-debug</span> gem (when on Ruby 1.8)
|
3751
|
+
or the <span class="monospaced">debugger</span> gem (when on Ruby 1.9). If you’re using Bundler, you should add
|
3752
|
+
this to your Gemfile:</p></div>
|
3753
|
+
<div class="listingblock">
|
3754
|
+
<div class="content monospaced">
|
3755
|
+
<pre>gem 'ruby-debug', :platforms => :ruby_18
|
3756
|
+
gem 'debugger', :platforms => :ruby_19</pre>
|
3757
|
+
</div>
|
3758
|
+
</div>
|
3759
|
+
<div class="paragraph"><p>Once debugging is turned on, you can use the command <span class="monospaced">passenger-irb --debug <PID></span> to attach an rdebug console to the application process with the given PID. Attaching will succeed once the application process executes a <span class="monospaced">debugger</span> command.</p></div>
|
3760
|
+
<div class="paragraph"><p>This option may occur in the following places:</p></div>
|
3761
|
+
<div class="ulist"><ul>
|
3762
|
+
<li>
|
3763
|
+
<p>
|
3764
|
+
In the global server configuration.
|
3765
|
+
</p>
|
3766
|
+
</li>
|
3767
|
+
<li>
|
3768
|
+
<p>
|
3769
|
+
In a virtual host configuration block.
|
3770
|
+
</p>
|
3771
|
+
</li>
|
3772
|
+
<li>
|
3773
|
+
<p>
|
3774
|
+
In a <span class="monospaced"><Directory></span> or <span class="monospaced"><Location></span> block.
|
3775
|
+
</p>
|
3776
|
+
</li>
|
3777
|
+
<li>
|
3778
|
+
<p>
|
3779
|
+
In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span> is on.
|
3780
|
+
</p>
|
3781
|
+
</li>
|
3782
|
+
</ul></div>
|
3783
|
+
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>off</em>.</p></div>
|
3784
|
+
</div>
|
3386
3785
|
</div>
|
3387
3786
|
<div class="sect2">
|
3388
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_ruby_on_rails_specific_options" data-comment-topic="ruby-on-rails-specific-options-1t10wfu">5.
|
3787
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_ruby_on_rails_specific_options" data-comment-topic="ruby-on-rails-specific-options-1t10wfu">5.17. Ruby on Rails-specific options</h3>
|
3389
3788
|
<div class="sect3">
|
3390
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsautodetect_lt_on_off_gt" data-comment-topic="railsautodetect-on-off--tpigsd">5.
|
3789
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsautodetect_lt_on_off_gt" data-comment-topic="railsautodetect-on-off--tpigsd">5.17.1. RailsAutoDetect <on|off></h4>
|
3391
3790
|
<div class="paragraph"><p>Whether Phusion Passenger should automatically detect whether a virtual host’s
|
3392
3791
|
document root is a Ruby on Rails application. The default is <em>on</em>.</p></div>
|
3393
3792
|
<div class="paragraph"><p>This option may occur in the global server configuration or in a virtual host
|
@@ -3419,7 +3818,7 @@ application by using the <a href="#RailsBaseURI">RailsBaseURI</a> configuration
|
|
3419
3818
|
</div>
|
3420
3819
|
</div>
|
3421
3820
|
<div class="sect3">
|
3422
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="RailsBaseURI" data-comment-topic="railsbaseuri-uri--1txrw3k">5.
|
3821
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="RailsBaseURI" data-comment-topic="railsbaseuri-uri--1txrw3k">5.17.2. RailsBaseURI <uri></h4>
|
3423
3822
|
<div class="paragraph"><p>Used to specify that the given URI is a Rails application. See
|
3424
3823
|
<a href="#deploying_rails_to_sub_uri">Deploying Rails to a sub URI</a> for an example.</p></div>
|
3425
3824
|
<div class="paragraph"><p>It is allowed to specify this option multiple times. Do this to deploy multiple
|
@@ -3449,7 +3848,7 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span>
|
|
3449
3848
|
</ul></div>
|
3450
3849
|
</div>
|
3451
3850
|
<div class="sect3">
|
3452
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="rails_env" data-comment-topic="railsenv-string--1b0xxvu">5.
|
3851
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="rails_env" data-comment-topic="railsenv-string--1b0xxvu">5.17.3. RailsEnv <string></h4>
|
3453
3852
|
<div class="paragraph"><p>This option allows one to specify the default <span class="monospaced">RAILS_ENV</span> value.</p></div>
|
3454
3853
|
<div class="paragraph"><p>This option may occur in the following places:</p></div>
|
3455
3854
|
<div class="ulist"><ul>
|
@@ -3477,7 +3876,7 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span>
|
|
3477
3876
|
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>production</em>.</p></div>
|
3478
3877
|
</div>
|
3479
3878
|
<div class="sect3">
|
3480
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsframeworkspawneridletime_lt_integer_gt" data-comment-topic="railsframeworkspawneridletime-integer--1ai8dgq">5.
|
3879
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsframeworkspawneridletime_lt_integer_gt" data-comment-topic="railsframeworkspawneridletime-integer--1ai8dgq">5.17.4. RailsFrameworkSpawnerIdleTime <integer></h4>
|
3481
3880
|
<div class="paragraph"><p>The FrameworkSpawner server (explained in <a href="#spawning_methods_explained">Spawning methods explained</a>) has an idle timeout, just like the backend processes spawned by
|
3482
3881
|
Phusion Passenger do. That is, it will automatically shutdown if it hasn’t done
|
3483
3882
|
anything for a given period.</p></div>
|
@@ -3506,7 +3905,7 @@ In a virtual host configuration block.
|
|
3506
3905
|
<div class="paragraph"><p>In each place, it may be specified at most once. The default value is <em>1800</em> (30 minutes).</p></div>
|
3507
3906
|
</div>
|
3508
3907
|
<div class="sect3">
|
3509
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsappspawneridletime_lt_integer_gt" data-comment-topic="railsappspawneridletime-integer--1awgog1">5.
|
3908
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsappspawneridletime_lt_integer_gt" data-comment-topic="railsappspawneridletime-integer--1awgog1">5.17.5. RailsAppSpawnerIdleTime <integer></h4>
|
3510
3909
|
<div class="paragraph"><p>The ApplicationSpawner server (explained in <a href="#spawning_methods_explained">Spawning methods explained</a>) has an idle timeout, just like the backend processes spawned by
|
3511
3910
|
Phusion Passenger do. That is, it will automatically shutdown if it hasn’t done
|
3512
3911
|
anything for a given period.</p></div>
|
@@ -3536,9 +3935,9 @@ In a virtual host configuration block.
|
|
3536
3935
|
</div>
|
3537
3936
|
</div>
|
3538
3937
|
<div class="sect2">
|
3539
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_rack_specific_options" data-comment-topic="rack-specific-options-wk9qzt">5.
|
3938
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_rack_specific_options" data-comment-topic="rack-specific-options-wk9qzt">5.18. Rack-specific options</h3>
|
3540
3939
|
<div class="sect3">
|
3541
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_rackautodetect_lt_on_off_gt" data-comment-topic="rackautodetect-on-off--vl1lxy">5.
|
3940
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_rackautodetect_lt_on_off_gt" data-comment-topic="rackautodetect-on-off--vl1lxy">5.18.1. RackAutoDetect <on|off></h4>
|
3542
3941
|
<div class="paragraph"><p>Whether Phusion Passenger should automatically detect whether a virtual host’s
|
3543
3942
|
document root is a Rack application. The default is <em>on</em>.</p></div>
|
3544
3943
|
<div class="paragraph"><p>This option may occur in the global server configuration or in a virtual host
|
@@ -3570,7 +3969,7 @@ application by using the <a href="#RackBaseURI">RackBaseURI</a> configuration op
|
|
3570
3969
|
</div>
|
3571
3970
|
</div>
|
3572
3971
|
<div class="sect3">
|
3573
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="RackBaseURI" data-comment-topic="rackbaseuri-uri--1to24pj">5.
|
3972
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="RackBaseURI" data-comment-topic="rackbaseuri-uri--1to24pj">5.18.2. RackBaseURI <uri></h4>
|
3574
3973
|
<div class="paragraph"><p>Used to specify that the given URI is a Rack application. See
|
3575
3974
|
<a href="#deploying_rack_to_sub_uri">Deploying Rack to a sub URI</a> for an example.</p></div>
|
3576
3975
|
<div class="paragraph"><p>It is allowed to specify this option multiple times. Do this to deploy multiple
|
@@ -3600,7 +3999,7 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span>
|
|
3600
3999
|
</ul></div>
|
3601
4000
|
</div>
|
3602
4001
|
<div class="sect3">
|
3603
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="rack_env" data-comment-topic="rackenv-string--vve9py">5.
|
4002
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="rack_env" data-comment-topic="rackenv-string--vve9py">5.18.3. RackEnv <string></h4>
|
3604
4003
|
<div class="paragraph"><p>The given value will be accessible in Rack applications in the <span class="monospaced">RACK_ENV</span>
|
3605
4004
|
environment variable. This allows one to define the environment in which
|
3606
4005
|
Rack applications are run, very similar to <span class="monospaced">RAILS_ENV</span>.</p></div>
|
@@ -3631,27 +4030,27 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span>
|
|
3631
4030
|
</div>
|
3632
4031
|
</div>
|
3633
4032
|
<div class="sect2">
|
3634
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_deprecated_options" data-comment-topic="deprecated-options-pm9m57">5.
|
4033
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_deprecated_options" data-comment-topic="deprecated-options-pm9m57">5.19. Deprecated options</h3>
|
3635
4034
|
<div class="paragraph"><p>The following options have been deprecated, but are still supported for backwards
|
3636
4035
|
compatibility reasons.</p></div>
|
3637
4036
|
<div class="sect3">
|
3638
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsruby" data-comment-topic="railsruby-ht09ei">5.
|
4037
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsruby" data-comment-topic="railsruby-ht09ei">5.19.1. RailsRuby</h4>
|
3639
4038
|
<div class="paragraph"><p>Deprecated in favor of <a href="#PassengerRuby">PassengerRuby</a>.</p></div>
|
3640
4039
|
</div>
|
3641
4040
|
<div class="sect3">
|
3642
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsuserswitching" data-comment-topic="railsuserswitching-1npx8y4">5.
|
4041
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsuserswitching" data-comment-topic="railsuserswitching-1npx8y4">5.19.2. RailsUserSwitching</h4>
|
3643
4042
|
<div class="paragraph"><p>Deprecated in favor of <a href="#PassengerUserSwitching">PassengerUserSwitching</a>.</p></div>
|
3644
4043
|
</div>
|
3645
4044
|
<div class="sect3">
|
3646
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsdefaultuser" data-comment-topic="railsdefaultuser-19j7n3m">5.
|
4045
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsdefaultuser" data-comment-topic="railsdefaultuser-19j7n3m">5.19.3. RailsDefaultUser</h4>
|
3647
4046
|
<div class="paragraph"><p>Deprecated in favor of <a href="#PassengerDefaultUser">PassengerDefaultUser</a>.</p></div>
|
3648
4047
|
</div>
|
3649
4048
|
<div class="sect3">
|
3650
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsallowmodrewrite" data-comment-topic="railsallowmodrewrite-1vkziro">5.
|
4049
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsallowmodrewrite" data-comment-topic="railsallowmodrewrite-1vkziro">5.19.4. RailsAllowModRewrite</h4>
|
3651
4050
|
<div class="paragraph"><p>This option doesn’t do anything anymore in recent versions of Phusion Passenger.</p></div>
|
3652
4051
|
</div>
|
3653
4052
|
<div class="sect3">
|
3654
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsspawnmethod" data-comment-topic="railsspawnmethod-1aljgpa">5.
|
4053
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_railsspawnmethod" data-comment-topic="railsspawnmethod-1aljgpa">5.19.5. RailsSpawnMethod</h4>
|
3655
4054
|
<div class="paragraph"><p>Deprecated in favor of <a href="#PassengerSpawnMethod">PassengerSpawnMethod</a>.</p></div>
|
3656
4055
|
</div>
|
3657
4056
|
</div>
|
@@ -4458,6 +4857,11 @@ through the <em>X-Passenger-Connect-Password</em> HTTP header, like this:</p></d
|
|
4458
4857
|
</div>
|
4459
4858
|
</div>
|
4460
4859
|
</div>
|
4860
|
+
<div class="sect2">
|
4861
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_attaching_an_irb_console_to_an_application_process" data-comment-topic="attaching-an-irb-console-to-an-application-process-1cma32j">7.5. Attaching an IRB console to an application process</h3>
|
4862
|
+
<div class="paragraph"><p><strong>Available in Phusion Passenger Enterprise since version 3.0.0.</strong></p></div>
|
4863
|
+
<div class="paragraph"><p>You can attach an IRB console to any application process and inspect its state by executing arbitrary Ruby code. Do this by invoking <span class="monospaced">passenger-irb <PID></span> where <em><PID></em> is the PID of the application process you wish to inspect. Note that the IRB console is currently only available for Ruby apps, not for apps in any other languages.</p></div>
|
4864
|
+
</div>
|
4461
4865
|
</div>
|
4462
4866
|
</div>
|
4463
4867
|
<div class="sect1">
|
@@ -5243,7 +5647,7 @@ has no effect.</p></div>
|
|
5243
5647
|
<div id="footnotes"><hr></div>
|
5244
5648
|
<div id="footer">
|
5245
5649
|
<div id="footer-text">
|
5246
|
-
Last updated 2012-
|
5650
|
+
Last updated 2012-08-01 13:31:01 CEST
|
5247
5651
|
</div>
|
5248
5652
|
</div>
|
5249
5653
|
<script>/*! jQuery v1.7.1 jquery.com | jquery.org/license */
|