passenger 4.0.27 → 4.0.28
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.tar.gz.asc +7 -7
- data/.gitignore +1 -0
- data/NEWS +22 -0
- data/build/preprocessor.rb +10 -0
- data/build/rpm.rb +74 -65
- data/debian.template/rules.template +8 -0
- data/dev/copy_boost_headers.rb +11 -2
- data/doc/Users guide Apache.idmap.txt +161 -145
- data/doc/Users guide Apache.txt +12 -1
- data/doc/Users guide Nginx.idmap.txt +142 -126
- data/doc/Users guide Nginx.txt +14 -1
- data/doc/Users guide Standalone.txt +1 -0
- data/doc/users_guide_snippets/environment_variables.txt +1 -1
- data/doc/users_guide_snippets/installation.txt +2 -0
- data/doc/users_guide_snippets/tips.txt +118 -0
- data/ext/apache2/Configuration.cpp +0 -6
- data/ext/apache2/Configuration.hpp +0 -5
- data/ext/apache2/ConfigurationCommands.cpp +7 -0
- data/ext/apache2/ConfigurationFields.hpp +2 -0
- data/ext/apache2/ConfigurationSetters.cpp +24 -0
- data/ext/apache2/CreateDirConfig.cpp +1 -0
- data/ext/apache2/Hooks.cpp +0 -1
- data/ext/apache2/MergeDirConfig.cpp +7 -0
- data/ext/apache2/SetHeaders.cpp +5 -1
- data/ext/boost/cregex.hpp +39 -0
- data/ext/boost/libs/regex/src/c_regex_traits.cpp +193 -0
- data/ext/boost/libs/regex/src/cpp_regex_traits.cpp +117 -0
- data/ext/boost/libs/regex/src/cregex.cpp +660 -0
- data/ext/boost/libs/regex/src/instances.cpp +32 -0
- data/ext/boost/libs/regex/src/internals.hpp +35 -0
- data/ext/boost/libs/regex/src/posix_api.cpp +296 -0
- data/ext/boost/libs/regex/src/regex.cpp +227 -0
- data/ext/boost/libs/regex/src/regex_debug.cpp +59 -0
- data/ext/boost/libs/regex/src/regex_raw_buffer.cpp +72 -0
- data/ext/boost/libs/regex/src/regex_traits_defaults.cpp +692 -0
- data/ext/boost/libs/regex/src/static_mutex.cpp +179 -0
- data/ext/boost/libs/regex/src/wc_regex_traits.cpp +301 -0
- data/ext/boost/libs/regex/src/wide_posix_api.cpp +315 -0
- data/ext/boost/libs/regex/src/winstances.cpp +35 -0
- data/ext/boost/regex.h +100 -0
- data/ext/boost/regex.hpp +37 -0
- data/ext/boost/regex/concepts.hpp +1128 -0
- data/ext/boost/regex/config.hpp +435 -0
- data/ext/boost/regex/config/borland.hpp +72 -0
- data/ext/boost/regex/config/cwchar.hpp +207 -0
- data/ext/boost/regex/mfc.hpp +190 -0
- data/ext/boost/regex/pattern_except.hpp +100 -0
- data/ext/boost/regex/pending/object_cache.hpp +165 -0
- data/ext/boost/regex/pending/static_mutex.hpp +179 -0
- data/ext/boost/regex/pending/unicode_iterator.hpp +776 -0
- data/ext/boost/regex/regex_traits.hpp +35 -0
- data/ext/boost/regex/user.hpp +93 -0
- data/ext/boost/regex/v4/basic_regex.hpp +782 -0
- data/ext/boost/regex/v4/basic_regex_creator.hpp +1571 -0
- data/ext/boost/regex/v4/basic_regex_parser.hpp +2874 -0
- data/ext/boost/regex/v4/c_regex_traits.hpp +211 -0
- data/ext/boost/regex/v4/char_regex_traits.hpp +81 -0
- data/ext/boost/regex/v4/cpp_regex_traits.hpp +1099 -0
- data/ext/boost/regex/v4/cregex.hpp +330 -0
- data/ext/boost/regex/v4/error_type.hpp +59 -0
- data/ext/boost/regex/v4/fileiter.hpp +455 -0
- data/ext/boost/regex/v4/instances.hpp +222 -0
- data/ext/boost/regex/v4/iterator_category.hpp +91 -0
- data/ext/boost/regex/v4/iterator_traits.hpp +135 -0
- data/ext/boost/regex/v4/match_flags.hpp +138 -0
- data/ext/boost/regex/v4/match_results.hpp +702 -0
- data/ext/boost/regex/v4/mem_block_cache.hpp +99 -0
- data/ext/boost/regex/v4/perl_matcher.hpp +587 -0
- data/ext/boost/regex/v4/perl_matcher_common.hpp +996 -0
- data/ext/boost/regex/v4/perl_matcher_non_recursive.hpp +1642 -0
- data/ext/boost/regex/v4/perl_matcher_recursive.hpp +991 -0
- data/ext/boost/regex/v4/primary_transform.hpp +146 -0
- data/ext/boost/regex/v4/protected_call.hpp +81 -0
- data/ext/boost/regex/v4/regbase.hpp +180 -0
- data/ext/boost/regex/v4/regex.hpp +202 -0
- data/ext/boost/regex/v4/regex_format.hpp +1156 -0
- data/ext/boost/regex/v4/regex_fwd.hpp +73 -0
- data/ext/boost/regex/v4/regex_grep.hpp +155 -0
- data/ext/boost/regex/v4/regex_iterator.hpp +201 -0
- data/ext/boost/regex/v4/regex_match.hpp +382 -0
- data/ext/boost/regex/v4/regex_merge.hpp +93 -0
- data/ext/boost/regex/v4/regex_raw_buffer.hpp +210 -0
- data/ext/boost/regex/v4/regex_replace.hpp +99 -0
- data/ext/boost/regex/v4/regex_search.hpp +217 -0
- data/ext/boost/regex/v4/regex_split.hpp +172 -0
- data/ext/boost/regex/v4/regex_token_iterator.hpp +342 -0
- data/ext/boost/regex/v4/regex_traits.hpp +189 -0
- data/ext/boost/regex/v4/regex_traits_defaults.hpp +371 -0
- data/ext/boost/regex/v4/regex_workaround.hpp +232 -0
- data/ext/boost/regex/v4/states.hpp +301 -0
- data/ext/boost/regex/v4/sub_match.hpp +512 -0
- data/ext/boost/regex/v4/syntax_type.hpp +105 -0
- data/ext/boost/regex/v4/u32regex_iterator.hpp +193 -0
- data/ext/boost/regex/v4/u32regex_token_iterator.hpp +377 -0
- data/ext/boost/regex/v4/w32_regex_traits.hpp +741 -0
- data/ext/boost/regex_fwd.hpp +33 -0
- data/ext/common/AgentsStarter.h +0 -11
- data/ext/common/ApplicationPool2/Common.h +1 -7
- data/ext/common/ApplicationPool2/DirectSpawner.h +3 -3
- data/ext/common/ApplicationPool2/Group.h +166 -69
- data/ext/common/ApplicationPool2/Implementation.cpp +55 -10
- data/ext/common/ApplicationPool2/Options.h +45 -10
- data/ext/common/ApplicationPool2/PipeWatcher.h +1 -2
- data/ext/common/ApplicationPool2/Pool.h +29 -7
- data/ext/common/ApplicationPool2/Process.h +22 -3
- data/ext/common/ApplicationPool2/Session.h +1 -0
- data/ext/common/ApplicationPool2/SmartSpawner.h +5 -10
- data/ext/common/ApplicationPool2/Spawner.h +10 -15
- data/ext/common/ApplicationPool2/SuperGroup.h +10 -9
- data/ext/common/Constants.h +1 -3
- data/ext/common/Hooks.h +193 -0
- data/ext/common/Logging.cpp +67 -2
- data/ext/common/Logging.h +23 -1
- data/ext/common/Utils.cpp +0 -21
- data/ext/common/Utils.h +0 -42
- data/ext/common/Utils/CachedFileStat.hpp +1 -1
- data/ext/common/Utils/StrIntUtils.h +61 -14
- data/ext/common/Utils/StringMap.h +4 -0
- data/ext/common/agents/HelperAgent/AgentOptions.h +4 -4
- data/ext/common/agents/HelperAgent/Main.cpp +2 -3
- data/ext/common/agents/HelperAgent/RequestHandler.h +65 -2
- data/ext/common/agents/LoggingAgent/FilterSupport.h +3 -1
- data/ext/common/agents/Watchdog/Main.cpp +8 -72
- data/ext/nginx/CacheLocationConfig.c +29 -1
- data/ext/nginx/Configuration.c +0 -12
- data/ext/nginx/Configuration.h +0 -1
- data/ext/nginx/ConfigurationCommands.c +10 -0
- data/ext/nginx/ConfigurationFields.h +2 -0
- data/ext/nginx/CreateLocationConfig.c +4 -0
- data/ext/nginx/MergeLocationConfig.c +6 -0
- data/ext/oxt/system_calls.cpp +7 -1
- data/ext/oxt/system_calls.hpp +7 -7
- data/helper-scripts/node-loader.js +6 -2
- data/helper-scripts/rack-loader.rb +5 -2
- data/helper-scripts/rack-preloader.rb +5 -2
- data/lib/phusion_passenger.rb +1 -1
- data/lib/phusion_passenger/apache2/config_options.rb +8 -0
- data/lib/phusion_passenger/constants.rb +0 -1
- data/lib/phusion_passenger/nginx/config_options.rb +9 -2
- data/lib/phusion_passenger/platform_info/apache.rb +2 -1
- data/lib/phusion_passenger/platform_info/compiler.rb +15 -1
- data/lib/phusion_passenger/platform_info/cxx_portability.rb +2 -0
- data/node_lib/phusion_passenger/httplib_emulation.js +85 -17
- data/node_lib/phusion_passenger/request_handler.js +10 -2
- data/rpm/Vagrantfile +32 -0
- data/rpm/get_distro_id.py +4 -0
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +2 -2
- data/test/cxx/ApplicationPool2/PoolTest.cpp +60 -9
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +2 -6
- data/test/cxx/CachedFileStatTest.cpp +5 -5
- data/test/cxx/RequestHandlerTest.cpp +3 -6
- data/test/cxx/UtilsTest.cpp +30 -0
- data/test/node/httplib_emulation_spec.js +491 -0
- data/test/node/spec_helper.js +25 -0
- metadata +78 -2
- metadata.gz.asc +7 -7
data/doc/Users guide Apache.txt
CHANGED
@@ -506,6 +506,15 @@ command line:
|
|
506
506
|
touch /webapps/wsgiapp/tmp/restart.txt
|
507
507
|
-------------------------------------------
|
508
508
|
|
509
|
+
== Deploying a Node.js application
|
510
|
+
|
511
|
+
Please refer to link:https://github.com/phusion/passenger/wiki/Phusion-Passenger%3A-Node.js-tutorial[the Node.js tutorial].
|
512
|
+
|
513
|
+
|
514
|
+
== Deploying a Meteor application
|
515
|
+
|
516
|
+
Please refer to link:http://blog.phusion.nl/2013/11/01/will-meteor-kill-rails-i-dont-know-but-phusion-passenger-open-sources-meteor-support/[the Meteor tutorial].
|
517
|
+
|
509
518
|
|
510
519
|
== Configuring Phusion Passenger ==
|
511
520
|
|
@@ -1801,7 +1810,9 @@ When all application processes are already handling their maximum number of conc
|
|
1801
1810
|
|
1802
1811
|
A value of 0 means that the queue is unbounded.
|
1803
1812
|
|
1804
|
-
|
1813
|
+
link:http://stackoverflow.com/questions/20402801/what-is-optimal-value-for-phusion-passenger-passengermaxrequestqueuesize[This article on StackOverflow] explains how the request queue works, what it means for the queue to grow or become full, why that is bad, and what you can do about it.
|
1814
|
+
|
1815
|
+
You may combine this option with <<PassengerErrorOverride,PassengerErrorOverride>> and `ErrorDocument` to set a custom error page whenever the queue is full. In the following example, Apache will serve /error503.html whenever the queue is full:
|
1805
1816
|
|
1806
1817
|
---------------------------------
|
1807
1818
|
PassengerErrorOverride on
|
@@ -120,255 +120,271 @@
|
|
120
120
|
|
121
121
|
5.4. Redeploying (restarting the WSGI application) => redeploying-restarting-the-wsgi-application--10zdh2k
|
122
122
|
|
123
|
-
6.
|
123
|
+
6. Deploying a Node.js application => deploying-a-node-js-application-15wbczd
|
124
124
|
|
125
|
-
|
125
|
+
7. Deploying a Meteor application => deploying-a-meteor-application-1b51wl9
|
126
126
|
|
127
|
-
|
127
|
+
8. Configuring Phusion Passenger => configuring-phusion-passenger-1g1svey
|
128
128
|
|
129
|
-
|
129
|
+
8.1. passenger_root <directory> => passenger-root-directory--bqvhhz
|
130
130
|
|
131
|
-
|
131
|
+
8.2. Deployment options => deployment-options-1a1vxsp
|
132
132
|
|
133
|
-
|
133
|
+
8.2.1. passenger_enabled <on|off> => passenger-enabled-on-off--1rpb2t7
|
134
134
|
|
135
|
-
|
135
|
+
8.2.2. passenger_ruby <filename> => passenger-ruby-filename--1gnok5k
|
136
136
|
|
137
|
-
|
137
|
+
8.2.3. passenger_python <filename> => passenger-python-filename--14p554
|
138
138
|
|
139
|
-
|
139
|
+
8.2.4. passenger_nodejs <filename> => passenger-nodejs-filename--16hzjsv
|
140
140
|
|
141
|
-
|
141
|
+
8.2.5. passenger_app_env <string> => passenger-app-env-string--qjeimp
|
142
142
|
|
143
|
-
|
143
|
+
8.2.6. rails_env <string> => rails-env-string--jlh7v9
|
144
144
|
|
145
|
-
|
145
|
+
8.2.7. rack_env <string> => rack-env-string--tqmrt0
|
146
146
|
|
147
|
-
|
147
|
+
8.2.8. passenger_app_root <path/to/root> => passenger-app-root-path-to-root--1dbudc6
|
148
148
|
|
149
|
-
|
149
|
+
8.2.9. passenger_base_uri <uri> => passenger-base-uri-uri--1xtuo50
|
150
150
|
|
151
|
-
|
151
|
+
8.2.10. passenger_spawn_method <string> => passenger-spawn-method-string--1sc6njl
|
152
152
|
|
153
|
-
|
153
|
+
8.2.11. passenger_load_shell_envvars <on|off> => passenger-load-shell-envvars-on-off--fw5u4l
|
154
154
|
|
155
|
-
|
155
|
+
8.2.12. passenger_rolling_restarts <on|off> => passenger-rolling-restarts
|
156
156
|
|
157
|
-
|
157
|
+
8.2.13. passenger_resist_deployment_errors <on|off> => passenger-resist-deployment-errors-on-off--k9yf1
|
158
158
|
|
159
|
-
|
159
|
+
8.3. Connection handling options => connection-handling-options-8jgq90
|
160
160
|
|
161
|
-
|
161
|
+
8.3.1. passenger_ignore_client_abort <on|off> => passenger-ignore-client-abort
|
162
162
|
|
163
|
-
|
163
|
+
8.3.2. passenger_set_cgi_param <CGI environment name> <value> => passenger-set-cgi-param-cgi-environment-name-value--rx9gc0
|
164
164
|
|
165
|
-
|
165
|
+
8.3.3. passenger_pass_header <header name> => passenger-pass-header-header-name--1cg31je
|
166
166
|
|
167
|
-
|
167
|
+
8.3.4. passenger_buffer_response <on|off> => passenger-buffer-response
|
168
168
|
|
169
|
-
|
169
|
+
8.3.5. passenger_buffer_size => passenger-buffer-size-1jfkq87
|
170
170
|
|
171
|
-
|
171
|
+
8.3.6. passenger_buffers => passenger-busy-buffers
|
172
172
|
|
173
|
-
|
173
|
+
8.3.7. passenger_busy_buffer_size => passenger-busy-buffer-size-124sj61
|
174
174
|
|
175
|
-
|
175
|
+
8.3.8. passenger_intercept_errors <on|off> => passenger-intercept-errors-1uvcb9x
|
176
176
|
|
177
|
-
|
177
|
+
8.3.9. passenger_max_request_queue_size <number> => passenger-max-request-queue-size-number--i0te1b
|
178
178
|
|
179
|
-
|
179
|
+
8.3.10. passenger_request_queue_overflow_status_code <code> => passenger-request-queue-overflow-status-code-code--1wcwuxl
|
180
180
|
|
181
|
-
|
181
|
+
8.4. Security options => security-options-1bv93g4
|
182
182
|
|
183
|
-
|
183
|
+
8.4.1. passenger_user_switching <on|off> => passenger-user-switching-on-off--1p37u3l
|
184
184
|
|
185
|
-
|
185
|
+
8.4.2. passenger_user <username> => passenger-user-username--b06ur7
|
186
186
|
|
187
|
-
|
187
|
+
8.4.3. passenger_group <group name> => passenger-user-group-name--1fco4j7
|
188
188
|
|
189
|
-
|
189
|
+
8.4.4. passenger_default_user <username> => passenger-default-user-username--1h6cdmf
|
190
190
|
|
191
|
-
|
191
|
+
8.4.5. Passenger_default_group <group name> => passenger-default-group-group-name--1qxn2qa
|
192
192
|
|
193
|
-
6.
|
193
|
+
8.4.6. passenger_show_version_in_header <on|off> => passenger-show-version-in-header-on-off--2h49av
|
194
194
|
|
195
|
-
|
195
|
+
8.4.7. passenger_friendly_error_pages <on|off> => passenger-friendly-error-pages-on-off--1ti1a0e
|
196
196
|
|
197
|
-
|
197
|
+
8.5. Resource control and optimization options => resource-control-and-optimization-options-xd7evs
|
198
198
|
|
199
|
-
|
199
|
+
8.5.1. passenger_max_pool_size <integer> => passenger-max-pool-size-integer--3jzefs
|
200
200
|
|
201
|
-
|
201
|
+
8.5.2. passenger_min_instances <integer> => passenger-min-instances-integer--uclykt
|
202
202
|
|
203
|
-
|
203
|
+
8.5.3. passenger_max_instances <integer> => passenger-max-instances
|
204
204
|
|
205
|
-
|
205
|
+
8.5.4. passenger_max_instances_per_app <integer> => passenger-max-instances-per-app-integer--1xhbbne
|
206
206
|
|
207
|
-
|
207
|
+
8.5.5. passenger_pool_idle_time <integer> => passenger-pool-idle-time-integer--xcw65o
|
208
208
|
|
209
|
-
|
209
|
+
8.5.6. passenger_max_preloader_idle_time <integer> => rails-app-spawner-idle-time-integer--1xjqe4b
|
210
210
|
|
211
|
-
|
211
|
+
8.5.7. passenger_start_timeout <seconds> => passenger-start-timeout-seconds--8xn504
|
212
212
|
|
213
|
-
|
213
|
+
8.5.8. passenger_concurrency_model <process|thread> => passenger-concurrency-model-process-thread--brcvkk
|
214
214
|
|
215
|
-
|
215
|
+
8.5.9. passenger_thread_count <number> => passenger-thread-count-number--1kd6ffy
|
216
216
|
|
217
|
-
|
217
|
+
8.5.10. passenger_max_requests <integer> => passenger-max-requests-integer--sgzint
|
218
218
|
|
219
|
-
|
219
|
+
8.5.11. passenger_max_request_time <seconds> => passenger-max-request-time-seconds--1htog2g
|
220
220
|
|
221
|
-
|
221
|
+
8.5.12. passenger_memory_limit <integer> => passenger-memory-limit-integer--1ry7dwx
|
222
222
|
|
223
|
-
|
223
|
+
8.5.13. passenger_pre_start <url> => passenger-pre-start-url--npldeb
|
224
224
|
|
225
|
-
|
225
|
+
8.6. Logging and debugging options => logging-and-debugging-options-14e91ni
|
226
226
|
|
227
|
-
|
227
|
+
8.6.1. passenger_log_level <integer> => passenger-log-level-integer--17snhon
|
228
228
|
|
229
|
-
6.
|
229
|
+
8.6.2. passenger_debug_log_file <filename> => passenger-debug-log-file-filename--21ubaj
|
230
230
|
|
231
|
-
6.
|
231
|
+
8.6.3. passenger_debugger <on|off> => passenger-debugger-on-off--1wkuq85
|
232
232
|
|
233
|
-
|
233
|
+
8.7. Advanced options => advanced-options-hnuhqz
|
234
234
|
|
235
|
-
|
235
|
+
8.7.1. passenger_temp_dir <directory> => passenger-temp-dir-directory--1t3opri
|
236
236
|
|
237
|
-
|
237
|
+
8.7.2. passenger_fly_with <socket filename> => passenger-fly-with-socket-filename--1amd1xn
|
238
238
|
|
239
|
-
|
239
|
+
8.8. Deprecated options => deprecated-options-1dtzo0g
|
240
240
|
|
241
|
-
|
241
|
+
8.8.1. rails_spawn_method => rails-spawn-method-17vdnpt
|
242
242
|
|
243
|
-
|
243
|
+
9. Troubleshooting => troubleshooting-1pt0c76
|
244
244
|
|
245
|
-
|
245
|
+
9.1. Generic troubleshooting tips => generic-troubleshooting-tips-xhe4nu
|
246
246
|
|
247
|
-
|
247
|
+
9.2. Why does the first request take a long time? => why-does-the-first-request-take-a-long-time--1knj9fp
|
248
248
|
|
249
|
-
|
249
|
+
9.3. Upon accessing the web app, Nginx reports a "Permission denied" error => upon-accessing-the-web-app-nginx-reports-a-permission-denied-error-1wgatlk
|
250
250
|
|
251
|
-
|
251
|
+
9.4. The application thinks its not on SSL even though it is => the-application-thinks-its-not-on-ssl-even-though-it-is-1e2m21h
|
252
252
|
|
253
|
-
|
253
|
+
9.5. Ruby on Rails-specific troubleshooting => ruby-on-rails-specific-troubleshooting-n8u5u1
|
254
254
|
|
255
|
-
|
255
|
+
9.5.1. The "About your application’s environment" link does not work => the-about-your-application-s-environment-link-does-not-work-9p7b2g
|
256
256
|
|
257
|
-
|
257
|
+
9.5.2. The Rails application reports that it’s unable to start because of a permission error => the-rails-application-reports-that-it-s-unable-to-start-because-of-a-permission-error-58ww8s
|
258
258
|
|
259
|
-
|
259
|
+
9.5.3. The Rails application’s log file is not being written to => the-rails-application-s-log-file-is-not-being-written-to-9m2i5h
|
260
260
|
|
261
|
-
|
261
|
+
10. Analysis and system maintenance => analysis-and-system-maintenance-1nnlnj8
|
262
262
|
|
263
|
-
|
263
|
+
10.1. Inspecting memory usage => inspecting-memory-usage-1k6y8v0
|
264
264
|
|
265
|
-
|
265
|
+
10.2. Inspecting Phusion Passenger’s internal status => inspecting-phusion-passenger-s-internal-status-v36wbc
|
266
266
|
|
267
|
-
|
267
|
+
10.3. Debugging frozen applications => debugging-frozen-applications-qoctl8
|
268
268
|
|
269
|
-
|
269
|
+
10.4. Accessing individual application processes => accessing-individual-application-processes-1qe4fqk
|
270
270
|
|
271
|
-
|
271
|
+
10.5. Attaching an IRB console to an application process => attaching-an-irb-console-to-an-application-process-d36enw
|
272
272
|
|
273
|
-
|
273
|
+
11. Tips => tips-n4c22d
|
274
274
|
|
275
|
-
|
275
|
+
11.1. User Switching (security feature) => user-switching-security--zmsy9o
|
276
276
|
|
277
|
-
|
277
|
+
11.1.1. Requirements => requirements-15ozqdj
|
278
278
|
|
279
|
-
|
279
|
+
11.1.2. Effects => effects-nd2m44
|
280
280
|
|
281
|
-
|
281
|
+
11.1.3. Caveats & troubleshooting => caveats-troubleshooting-mbw582
|
282
282
|
|
283
|
-
|
283
|
+
11.1.4. Finding out what user an application is running as => finding-out-what-user-an-application-is-running-as-1ni7zk6
|
284
284
|
|
285
|
-
|
285
|
+
11.2. Copy-on-write memory support (reducing memory consumption of Ruby applications) => reducing-memory-consumption-of-ruby-on-rails-applications-by-33--1o3z66q
|
286
286
|
|
287
|
-
|
287
|
+
11.3. Capistrano recipe => capistrano-recipe-pfn4qu
|
288
288
|
|
289
|
-
|
289
|
+
11.4. Bundler support => bundler-support-19v1h43
|
290
290
|
|
291
|
-
|
291
|
+
11.4.1. Does Phusion Passenger itself need to be added to the Gemfile? => does-phusion-passenger-itself-need-to-be-added-to-the-gemfile--xn1a11
|
292
292
|
|
293
|
-
|
293
|
+
11.5. Installing multiple Ruby on Rails versions => installing-multiple-ruby-on-rails-versions-1bp1fff
|
294
294
|
|
295
|
-
|
295
|
+
11.6. Making the application restart after each request => making-the-application-restart-after-each-request-vimy48
|
296
296
|
|
297
|
-
|
297
|
+
11.7. How to fix broken images/CSS/JavaScript URIs in sub-URI deployments => how-to-fix-broken-images-css-javascript-uris-in-sub-uri-deployments-11mzwt6
|
298
298
|
|
299
|
-
|
299
|
+
11.8. Out-of-Band Work and Out-of-Band Garbage Collection => out-of-band-work-and-out-of-band-garbage-collection-v89lu2
|
300
300
|
|
301
|
-
|
301
|
+
11.9. Hooks => hooks-qrxle1
|
302
302
|
|
303
|
-
|
303
|
+
11.9.1. Example => example-1orara9
|
304
304
|
|
305
|
-
|
305
|
+
11.9.2. Environment => environment-10uhg8m
|
306
306
|
|
307
|
-
|
307
|
+
11.9.3. Blocking and concurrency => blocking-and-concurrency-g5njp1
|
308
308
|
|
309
|
-
|
309
|
+
11.9.4. Error handling => error-handling-m78oxs
|
310
310
|
|
311
|
-
|
311
|
+
11.9.5. Available hooks => available-hooks-11w1prq
|
312
312
|
|
313
|
-
10.
|
313
|
+
11.10. Flying Passenger => flying-passenger-137qg5e
|
314
314
|
|
315
|
-
10.
|
315
|
+
11.10.1. Requirements => requirements-194ysj6
|
316
316
|
|
317
|
-
10.2.
|
317
|
+
11.10.2. Basic usage => basic-usage-1qtgvwx
|
318
318
|
|
319
|
-
10.
|
319
|
+
11.10.3. Configuring Flying Passenger => configuring-flying-passenger-n558np
|
320
320
|
|
321
|
-
10.
|
321
|
+
11.10.4. Managing the Flying Passenger daemon => managing-the-flying-passenger-daemon-vjmzdh
|
322
322
|
|
323
|
-
11.
|
323
|
+
11.10.5. Using Flying Passenger with MRI 1.8 or JRuby => using-flying-passenger-with-mri-1-8-or-jruby-pxho35
|
324
324
|
|
325
|
-
|
325
|
+
11.10.6. Caveats and limitations => caveats-and-limitations-15wakf
|
326
326
|
|
327
|
-
12.
|
327
|
+
12. Under the hood => under-the-hood-8uney
|
328
328
|
|
329
|
-
12.
|
329
|
+
12.1. Page caching support => page-caching-support-nafhf6
|
330
330
|
|
331
|
-
12.
|
331
|
+
12.2. Phusion Passenger and its relationship with Ruby => phusion-passenger-and-its-relationship-with-ruby-1hub1pa
|
332
332
|
|
333
|
-
|
333
|
+
12.2.1. How Ruby is used => how-ruby-is-used-j7g2a4
|
334
334
|
|
335
|
-
|
335
|
+
12.2.2. When the system has multiple Ruby interpreters => when-the-system-has-multiple-ruby-interpreters-fwn3t
|
336
336
|
|
337
|
-
|
337
|
+
12.3. How Phusion Passenger detects whether a virtual host is a web application => how-phusion-passenger-detects-whether-a-virtual-host-is-a-web-application-13qbmhn
|
338
338
|
|
339
|
-
13.
|
339
|
+
13. Appendix A: About this document => appendix-a-about-this-document-zfvixm
|
340
340
|
|
341
|
-
|
341
|
+
14. Appendix B: Terminology => appendix-b-terminology-wzv5ro
|
342
342
|
|
343
|
-
|
343
|
+
14.1. Application root => application-root-1fd6bqv
|
344
344
|
|
345
|
-
|
345
|
+
14.2. Idle process => idle-process-13byfw9
|
346
346
|
|
347
|
-
|
347
|
+
14.3. Inactive process => inactive-process-1d2h0po
|
348
348
|
|
349
|
-
|
349
|
+
15. Appendix C: Spawning methods explained => appendix-c-spawning-methods-explained-tcp8e6
|
350
350
|
|
351
|
-
|
351
|
+
15.1. The most straightforward and traditional way: direct spawning => the-most-straightforward-and-traditional-way-conservative-spawning-civ29z
|
352
352
|
|
353
|
-
|
353
|
+
15.2. The smart spawning method => the-smart-spawning-method-7nhgtj
|
354
354
|
|
355
|
-
|
355
|
+
15.2.1. How it works => how-it-works-f9umga
|
356
356
|
|
357
|
-
|
357
|
+
15.2.2. Summary of benefits => summary-of-benefits-qovyvk
|
358
358
|
|
359
|
-
|
359
|
+
15.3. Smart spawning gotcha #1: unintentional file descriptor sharing => smart-spawning-gotcha-1-unintentional-file-descriptor-sharing-cebw6q
|
360
360
|
|
361
|
-
|
361
|
+
15.3.1. Example 1: Memcached connection sharing (harmful) => example-1-memcached-connection-sharing-harmful--1wfs3ad
|
362
362
|
|
363
|
-
|
363
|
+
15.3.2. Example 2: Log file sharing (not harmful) => example-2-log-file-sharing-not-harmful--ox4yfy
|
364
364
|
|
365
|
-
|
365
|
+
15.4. Smart spawning gotcha #2: the need to revive threads => smart-spawning-gotcha-2-the-need-to-revive-threads-1ey176o
|
366
366
|
|
367
|
-
|
367
|
+
15.5. Smart spawning gotcha #3: code load order => smart-spawning-gotcha-3-code-load-order-12ydsn8
|
368
368
|
|
369
|
-
|
369
|
+
16. Appendix D: About environment variables => appendix-d-about-environment-variables-1t2cuff
|
370
370
|
|
371
|
-
|
371
|
+
16.1. Working with environment variables => working-with-environment-variables-1kmvq8w
|
372
372
|
|
373
|
-
|
373
|
+
16.2. The PATH environment variable => the-path-environment-variable-vlp05e
|
374
|
+
|
375
|
+
16.2.1. Adding Phusion Passenger’s administration tools to PATH => adding-phusion-passenger-s-administration-tools-to-path-1flz2tu
|
376
|
+
|
377
|
+
16.3. Making environment variables permanent => making-environment-variables-permanent-1wjyhzt
|
378
|
+
|
379
|
+
16.3.1. bash => bash-19xsxec
|
380
|
+
|
381
|
+
16.3.2. Apache => apache-9hqtyj
|
382
|
+
|
383
|
+
16.3.3. Nginx => nginx-157dpwy
|
384
|
+
|
385
|
+
16.3.4. cron => cron-1nuc9cz
|
386
|
+
|
387
|
+
16.3.5. Phusion Passenger-served apps => phusion-passenger-served-apps-uiewl5
|
388
|
+
|
389
|
+
16.4. Environment variables and sudo => environment-variables-and-sudo-10lphxn
|
374
390
|
|
data/doc/Users guide Nginx.txt
CHANGED
@@ -491,6 +491,16 @@ touch /webapps/wsgiapp/tmp/restart.txt
|
|
491
491
|
-------------------------------------------
|
492
492
|
|
493
493
|
|
494
|
+
== Deploying a Node.js application
|
495
|
+
|
496
|
+
Please refer to link:https://github.com/phusion/passenger/wiki/Phusion-Passenger%3A-Node.js-tutorial[the Node.js tutorial].
|
497
|
+
|
498
|
+
|
499
|
+
== Deploying a Meteor application
|
500
|
+
|
501
|
+
Please refer to link:http://blog.phusion.nl/2013/11/01/will-meteor-kill-rails-i-dont-know-but-phusion-passenger-open-sources-meteor-support/[the Meteor tutorial].
|
502
|
+
|
503
|
+
|
494
504
|
== Configuring Phusion Passenger ==
|
495
505
|
|
496
506
|
After installation, Phusion Passenger does not need any further configurations.
|
@@ -844,6 +854,7 @@ This option may occur in the following places:
|
|
844
854
|
|
845
855
|
In each place, it may be specified at most once. The default value is 'off'.
|
846
856
|
|
857
|
+
[[passenger_set_cgi_param]]
|
847
858
|
==== passenger_set_cgi_param <CGI environment name> <value> ====
|
848
859
|
Allows one to define additional CGI environment variables to pass to the web
|
849
860
|
application. This is comparable to ngx_http_fastcgi_module's 'fastcgi_param'
|
@@ -1037,7 +1048,9 @@ When all application processes are already handling their maximum number of conc
|
|
1037
1048
|
|
1038
1049
|
A value of 0 means that the queue is unbounded.
|
1039
1050
|
|
1040
|
-
|
1051
|
+
link:http://stackoverflow.com/questions/20402801/what-is-optimal-value-for-phusion-passenger-passengermaxrequestqueuesize[This article on StackOverflow] explains how the request queue works, what it means for the queue to grow or become full, why that is bad, and what you can do about it.
|
1052
|
+
|
1053
|
+
You may combine this option with <<passenger_intercept_errors,passenger_intercept_errors>> and `error_page` to set a custom error page whenever the queue is full. In the following example, Nginx will serve /error503.html whenever the queue is full:
|
1041
1054
|
|
1042
1055
|
---------------------------------
|
1043
1056
|
passenger_intercept_errors on;
|