passenger 4.0.19 → 4.0.20

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.

Files changed (65) hide show
  1. checksums.yaml +15 -0
  2. checksums.yaml.gz.asc +12 -0
  3. data.tar.gz.asc +7 -7
  4. data/NEWS +22 -0
  5. data/bin/passenger-install-apache2-module +2 -2
  6. data/bin/passenger-install-nginx-module +2 -2
  7. data/build/agents.rb +6 -0
  8. data/build/apache2.rb +1 -0
  9. data/build/basics.rb +2 -2
  10. data/build/cplusplus_support.rb +6 -1
  11. data/build/cxx_tests.rb +1 -0
  12. data/build/nginx.rb +1 -0
  13. data/build/packaging.rb +1 -1
  14. data/dev/copy_boost_headers.rb +1 -0
  15. data/doc/Users guide Apache.idmap.txt +56 -54
  16. data/doc/Users guide Apache.txt +22 -3
  17. data/doc/Users guide Nginx.idmap.txt +52 -50
  18. data/doc/Users guide Nginx.txt +22 -3
  19. data/ext/apache2/Configuration.hpp +4 -0
  20. data/ext/apache2/ConfigurationCommands.cpp +6 -0
  21. data/ext/apache2/ConfigurationFields.hpp +6 -4
  22. data/ext/apache2/ConfigurationSetters.cpp +11 -0
  23. data/ext/apache2/CreateDirConfig.cpp +1 -0
  24. data/ext/apache2/Hooks.cpp +2 -0
  25. data/ext/apache2/MergeDirConfig.cpp +7 -0
  26. data/ext/boost/type_traits/detail/common_type_imp.hpp +333 -0
  27. data/ext/boost/type_traits/detail/has_binary_operator.hpp +229 -0
  28. data/ext/boost/type_traits/detail/has_postfix_operator.hpp +202 -0
  29. data/ext/boost/type_traits/detail/has_prefix_operator.hpp +210 -0
  30. data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +654 -0
  31. data/ext/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +2759 -0
  32. data/ext/boost/type_traits/detail/wrap.hpp +18 -0
  33. data/ext/common/Constants.h +1 -1
  34. data/ext/common/Utils/StrIntUtils.cpp +1 -1
  35. data/ext/common/agents/HelperAgent/Main.cpp +18 -1
  36. data/ext/common/agents/HelperAgent/RequestHandler.h +3 -0
  37. data/ext/common/agents/SpawnPreparer.cpp +25 -0
  38. data/ext/common/agents/TempDirToucher.c +357 -0
  39. data/ext/common/agents/Watchdog/Main.cpp +38 -0
  40. data/ext/nginx/CacheLocationConfig.c +21 -1
  41. data/ext/nginx/CacheLocationConfig.c.erb +1 -1
  42. data/ext/nginx/ConfigurationCommands.c +10 -0
  43. data/ext/nginx/ConfigurationFields.h +18 -16
  44. data/ext/nginx/ConfigurationFields.h.erb +11 -6
  45. data/ext/nginx/CreateLocationConfig.c +4 -0
  46. data/ext/nginx/MergeLocationConfig.c +6 -0
  47. data/helper-scripts/node-loader.js +6 -2
  48. data/lib/phusion_passenger.rb +1 -1
  49. data/lib/phusion_passenger/{rails3_extensions → active_support3_extensions}/init.rb +10 -8
  50. data/lib/phusion_passenger/apache2/config_options.rb +5 -0
  51. data/lib/phusion_passenger/loader_shared_helpers.rb +61 -7
  52. data/lib/phusion_passenger/nginx/config_options.rb +4 -0
  53. data/lib/phusion_passenger/platform_info/apache.rb +6 -1
  54. data/lib/phusion_passenger/platform_info/compiler.rb +29 -2
  55. data/lib/phusion_passenger/platform_info/depcheck_specs/compiler_toolchain.rb +4 -4
  56. data/lib/phusion_passenger/platform_info/ruby.rb +7 -3
  57. data/lib/phusion_passenger/public_api.rb +4 -4
  58. data/lib/phusion_passenger/standalone/command.rb +10 -0
  59. data/lib/phusion_passenger/standalone/runtime_installer.rb +2 -2
  60. data/lib/phusion_passenger/standalone/start_command.rb +14 -8
  61. data/lib/phusion_passenger/utils/unseekable_socket.rb +52 -0
  62. data/resources/templates/standalone/config.erb +11 -0
  63. metadata +14 -15
  64. metadata.gz.asc +7 -7
  65. data/helper-scripts/touch-dir.sh +0 -48
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OWI3NGM4NmQ1MmJmNjRiYWNmZDFkNDFjZWZkZjg4YWEyMzllOTk1OA==
5
+ data.tar.gz: !binary |-
6
+ NDhlZmE4OTZiYjE1ZGM4ZjY5MGQ4NmJmNDNlY2Q2MjZkMTA3NTRjYw==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ OGI1ZjJjZTU2YjRhYjk3ODZmNWM1NWEzNzQ2YWMyOGU2MjFmMjEwODhjNjNj
10
+ ZGU4MTI1ZWI0YTA0Yjk2MTdmYWFkODA2Yzc0NzQxODc2NjJhZjQ5OTEyMTIx
11
+ NjY0Njg3MDI2N2E2MmI1NjgwZDdiMjQxYTU4M2ViZTJjZTFkZDk=
12
+ data.tar.gz: !binary |-
13
+ ZDlhMjFiYjE5OTY1MTMyM2VmNjIzYmM5MjE1NzRiMTFlMzRiODZiMzE4Mzgz
14
+ NTkzMTY2NjRmMjM3ZDc0ZGIzZWYwNTNlZjUwNmIyMWQwOTA5NzI0YzI3OTRi
15
+ ODY1ZDE5MGMyMGM4YzM4YzIwOWE4MGM5NmIwYjcyMmNjYWY3YWI=
@@ -0,0 +1,12 @@
1
+ -----BEGIN PGP SIGNATURE-----
2
+ Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
+ Comment: GPGTools - http://gpgtools.org
4
+
5
+ iQEcBAABAgAGBQJSVR2DAAoJECrHRaUKISqMb4gH/0KcDsUi/7/IEPR9w+AUNXbi
6
+ xop3xQSJqggT9HDPWhhsh0thwPVdAwWC8etDd/99RMEW6KQMnSwBr9DP8TbrjG5C
7
+ LdstIpTF11l7lcqpc4cNdbq7giE2iriyOWjQzwKEr2UpAgNzbjCVM09Wz6KqIJrV
8
+ aFUXSybIsr3N9gnPqdPwJ6Gp/0QyPDyMVXcNZzcOVvLlZ1EwNHDIsjBG1V0t+8o0
9
+ HLCLb5FXvVrZ5DujwXfvaEeVLz+rpu7RpXrTxqbW5rHjFMn+oYgdMxidEavDgXBD
10
+ TOUpkexYX/fUZd2EKxJWS+otVzN9HV7qnx1YKJQOwyVLfkK6kDgqOXQgPQYz+G8=
11
+ =lBSY
12
+ -----END PGP SIGNATURE-----
data.tar.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJSQSkWAAoJECrHRaUKISqMWtsIAKiNtrucfxuOIVN6wptQyV0B
6
- E1HSZ00iHfUSh96Tx7avx/QZT4VO76Kn7iWDSuv0txACtdbCWkcvMvEc/8Py2umr
7
- PnvZm9FpY6yWaF9nd85flihTKHh8TVohYxhYyA+NvBc/qHvYtYwBi2Fq3SmHA7qT
8
- nkx2Q3uZSE3w8bMfDvTfQL/tO5pidzKxV0pu6SBfQWg8OMpryRVP2dUv4dpg8lDh
9
- ZsnP+aVW8rxSoOn56Wwhbkqez2/1W1MFo1HG11ms//nSvwjVXRO/XpHhNsIIvrFH
10
- O8DXuKpcGeB32GQ4xAdX8FrSt4+ecMpraDTtcIEyMU4qagBcgOlXgqofcFCNIUE=
11
- =H3GZ
5
+ iQEcBAABAgAGBQJSVR2DAAoJECrHRaUKISqMiO0H/AiYTBtbpvN5Q/WIYRo99pu5
6
+ +VyZpUvISKG7+Mdqb8hEL+O/TvGYQsiCliOhF2UWAjTUdm+fXOXcs5KXWJV3wJZU
7
+ +mzKZ9Xy0a6HLVyLQV3v+bMe5hNBDFx5YI4js0Vlhx9SGV3NQwxIgQ3sfqmmbdtw
8
+ ieKmrLakgDuOHFxPmAibEL5Lv4R+rRlhldsoDoVmp8zuLJcxobaNkNkS1nXqvhha
9
+ NeQjYetL4BisdneEwt1BeZusNHAON5Blt88SgQfbSkPB6Zz7PXxiuCRWfdxkJ9/d
10
+ K9w5TTHXf+TL+OfnRZ9Aaz8vdcRdihNNaPWURgDwhGl2Q9k1BKmIPfxxfZsnBtY=
11
+ =LZ+T
12
12
  -----END PGP SIGNATURE-----
data/NEWS CHANGED
@@ -1,3 +1,25 @@
1
+ Release 4.0.20
2
+ --------------
3
+
4
+ * Fixed a bug in Phusion Passenger Standalone's daemon mode. When in daemon
5
+ mode, the Nginx temporary directory was deleted prematurely, causing some
6
+ POST requests to fail. This was a regression that was introduced in 4.0.15
7
+ as part of an optimization.
8
+ * Fixed compilation problems on Solaris 10 with Sun Studio 12.3.
9
+ * Improved detection of RVM problems.
10
+ * It is now possible to log the request method to Union Station.
11
+ * Introduced a new option, `PassengerLoadShellEnvvars` (Apache) and
12
+ `passenger_load_shell_envvars` (Nginx). This allows enabling or disabling
13
+ the loading of bashrc before spawning the application.
14
+ * [Enterprise] Fixed a packaging problem which caused the flying-passenger
15
+ executable not to be properly included in the bin path.
16
+ * [Enterprise] Fixed a race condition which sometimes causes the Flying
17
+ Passenger socket to be deleted after a restart. Fixes issue #939.
18
+ * [Enterprise] The `byebug` gem is now supported for debugging on Ruby 2.0.
19
+ The byebug gem requires a patch before this works:
20
+ https://github.com/deivid-rodriguez/byebug/pull/29
21
+
22
+
1
23
  Release 4.0.19
2
24
  --------------
3
25
 
@@ -52,8 +52,8 @@ class Installer < PhusionPassenger::AbstractInstaller
52
52
  'depcheck_specs/apache2'
53
53
  ]
54
54
  ids = [
55
- 'gcc',
56
- 'g++',
55
+ 'cc',
56
+ 'c++',
57
57
  'libcurl-dev',
58
58
  'openssl-dev',
59
59
  'zlib-dev',
@@ -48,8 +48,8 @@ class Installer < PhusionPassenger::AbstractInstaller
48
48
  'depcheck_specs/utilities'
49
49
  ]
50
50
  ids = [
51
- 'gcc',
52
- 'g++',
51
+ 'cc',
52
+ 'c++',
53
53
  'download-tool',
54
54
  PlatformInfo.passenger_needs_ruby_dev_header? ? 'ruby-dev' : nil,
55
55
  'ruby-openssl',
@@ -176,6 +176,12 @@ file AGENT_OUTPUT_DIR + 'EnvPrinter' => 'ext/common/agents/EnvPrinter.c' do
176
176
  'ext/common/agents/EnvPrinter.c')
177
177
  end
178
178
 
179
+ file AGENT_OUTPUT_DIR + 'TempDirToucher' => 'ext/common/agents/TempDirToucher.c' do
180
+ sh "mkdir -p #{AGENT_OUTPUT_DIR}" if !File.directory?(AGENT_OUTPUT_DIR)
181
+ create_c_executable(AGENT_OUTPUT_DIR + 'TempDirToucher',
182
+ 'ext/common/agents/TempDirToucher.c')
183
+ end
184
+
179
185
  task 'common:clean' do
180
186
  sh "rm -rf #{AGENT_OUTPUT_DIR}"
181
187
  end
@@ -89,6 +89,7 @@ task :apache2 => [
89
89
  AGENT_OUTPUT_DIR + 'PassengerWatchdog',
90
90
  AGENT_OUTPUT_DIR + 'PassengerLoggingAgent',
91
91
  AGENT_OUTPUT_DIR + 'SpawnPreparer',
92
+ AGENT_OUTPUT_DIR + 'TempDirToucher',
92
93
  NATIVE_SUPPORT_TARGET
93
94
  ].compact
94
95
 
@@ -132,8 +132,8 @@ MAINTAINER_NAME = "Phusion"
132
132
  MAINTAINER_EMAIL = "info@phusion.nl"
133
133
 
134
134
  OPTIMIZE = boolean_option("OPTIMIZE")
135
- CC = maybe_wrap_in_ccache(string_option("CC", "gcc"))
136
- CXX = maybe_wrap_in_ccache(string_option("CXX", "g++"))
135
+ CC = maybe_wrap_in_ccache(PhusionPassenger::PlatformInfo.cc)
136
+ CXX = maybe_wrap_in_ccache(PhusionPassenger::PlatformInfo.cxx)
137
137
  LIBEXT = PlatformInfo.library_extension
138
138
  USE_DMALLOC = boolean_option('USE_DMALLOC')
139
139
  USE_EFENCE = boolean_option('USE_EFENCE')
@@ -87,5 +87,10 @@ def create_shared_library(target, sources, flags = "#{EXTRA_PRE_CXXFLAGS} #{EXTR
87
87
  else
88
88
  shlib_flag = "-shared"
89
89
  end
90
- run_compiler "#{CXX} #{shlib_flag} #{sources} -fPIC -o #{target} #{flags}"
90
+ if PhusionPassenger::PlatformInfo.cc_is_sun_studio?
91
+ fPIC = "-KPIC"
92
+ else
93
+ fPIC = "-fPIC"
94
+ end
95
+ run_compiler "#{CXX} #{shlib_flag} #{sources} #{fPIC} -o #{target} #{flags}"
91
96
  end
@@ -211,6 +211,7 @@ dependencies = [
211
211
  'test/support/allocate_memory',
212
212
  NATIVE_SUPPORT_TARGET,
213
213
  AGENT_OUTPUT_DIR + 'SpawnPreparer',
214
+ AGENT_OUTPUT_DIR + 'TempDirToucher',
214
215
  AGENT_OUTPUT_DIR + 'EnvPrinter'
215
216
  ].compact
216
217
  desc "Run unit tests for the Apache 2 and Nginx C++ components"
@@ -41,6 +41,7 @@ task :nginx_without_native_support => [
41
41
  AGENT_OUTPUT_DIR + 'PassengerWatchdog',
42
42
  AGENT_OUTPUT_DIR + 'PassengerLoggingAgent',
43
43
  AGENT_OUTPUT_DIR + 'SpawnPreparer',
44
+ AGENT_OUTPUT_DIR + 'TempDirToucher',
44
45
  COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).link_objects
45
46
  ].flatten
46
47
 
@@ -198,7 +198,7 @@ task 'package:release' => ['package:set_official', 'package:gem', 'package:tarba
198
198
  command = "cd /srv/passenger_autobuilder/app && " +
199
199
  "/tools/silence-unless-failed chpst -l /tmp/passenger_autobuilder.lock " +
200
200
  "./autobuild-with-pbuilder #{git_url} passenger-enterprise --tag=#{tag}"
201
- ssh "psg_autobuilder_run@juvia-helper.phusion.nl at now <<<'#{command}'"
201
+ sh "ssh psg_autobuilder_run@juvia-helper.phusion.nl at now <<<'#{command}'"
202
202
 
203
203
  puts "Initiating building of Debian packages"
204
204
  command = "cd /srv/passenger_apt_automation && " +
@@ -35,6 +35,7 @@ ESSENTIALS = [
35
35
  "libs/system/src",
36
36
  "boost/date_time/gregorian/formatters_limited.hpp",
37
37
  "boost/date_time/date_formatting_limited.hpp",
38
+ "boost/type_traits/detail/*",
38
39
  "boost/non_type.hpp",
39
40
  "boost/detail/fenv.hpp",
40
41
  "boost/foreach.hpp"
@@ -130,113 +130,115 @@
130
130
 
131
131
  6.6. PassengerSpawnMethod <string> => passengerspawnmethod-string--sodg2y
132
132
 
133
- 6.7. PassengerEnabled <on|off> => passengerenabled-on-off--74rzth
133
+ 6.7. passengerLoadShellEnvvars <on|off> => passengerloadshellenvvars-on-off--1290yz1
134
134
 
135
- 6.8. PassengerTempDir <directory> => passengertempdir-directory--68h2ng
135
+ 6.8. PassengerEnabled <on|off> => passengerenabled-on-off--74rzth
136
136
 
137
- 6.9. PassengerUploadBufferDir <directory> => passengeruploadbufferdir-directory--kdr8at
137
+ 6.9. PassengerTempDir <directory> => passengertempdir-directory--68h2ng
138
138
 
139
- 6.10. PassengerRestartDir <directory> => passengerrestartdir-directory--1fmhmv0
139
+ 6.10. PassengerUploadBufferDir <directory> => passengeruploadbufferdir-directory--kdr8at
140
140
 
141
- 6.11. PassengerRollingRestarts <on|off> => passengerrollingrestarts
141
+ 6.11. PassengerRestartDir <directory> => passengerrestartdir-directory--1fmhmv0
142
142
 
143
- 6.12. PassengerResistDeploymentErrors <on|off> => passengerresistdeploymenterrors
143
+ 6.12. PassengerRollingRestarts <on|off> => passengerrollingrestarts
144
144
 
145
- 6.13. Security options => security-options-1pb75ho
145
+ 6.13. PassengerResistDeploymentErrors <on|off> => passengerresistdeploymenterrors
146
146
 
147
- 6.13.1. PassengerUserSwitching <on|off> => passengeruserswitching
147
+ 6.14. Security options => security-options-1pb75ho
148
148
 
149
- 6.13.2. PassengerUser <username> => passengeruser
149
+ 6.14.1. PassengerUserSwitching <on|off> => passengeruserswitching
150
150
 
151
- 6.13.3. PassengerGroup <group name> => passengergroup
151
+ 6.14.2. PassengerUser <username> => passengeruser
152
152
 
153
- 6.13.4. PassengerDefaultUser <username> => passengerdefaultuser
153
+ 6.14.3. PassengerGroup <group name> => passengergroup
154
154
 
155
- 6.13.5. PassengerDefaultGroup <group name> => passengerdefaultgroup
155
+ 6.14.4. PassengerDefaultUser <username> => passengerdefaultuser
156
156
 
157
- 6.13.6. PassengerFriendlyErrorPages <on|off> => passengerfriendlyerrorpages
157
+ 6.14.5. PassengerDefaultGroup <group name> => passengerdefaultgroup
158
158
 
159
- 6.14. Resource control and optimization options => resource-control-and-optimization-options-zu2f7u
159
+ 6.14.6. PassengerFriendlyErrorPages <on|off> => passengerfriendlyerrorpages
160
160
 
161
- 6.14.1. PassengerMaxPoolSize <integer> => passengermaxpoolsize-integer--am64q8
161
+ 6.15. Resource control and optimization options => resource-control-and-optimization-options-zu2f7u
162
162
 
163
- 6.14.2. PassengerMinInstances <integer> => passengermininstances-integer--wegq6b
163
+ 6.15.1. PassengerMaxPoolSize <integer> => passengermaxpoolsize-integer--am64q8
164
164
 
165
- 6.14.3. PassengerMaxInstances <integer> => passengermaxinstances
165
+ 6.15.2. PassengerMinInstances <integer> => passengermininstances-integer--wegq6b
166
166
 
167
- 6.14.4. PassengerMaxInstancesPerApp <integer> => passengermaxinstancesperapp
167
+ 6.15.3. PassengerMaxInstances <integer> => passengermaxinstances
168
168
 
169
- 6.14.5. PassengerPoolIdleTime <integer> => passengerpoolidletime-integer--a3gunq
169
+ 6.15.4. PassengerMaxInstancesPerApp <integer> => passengermaxinstancesperapp
170
170
 
171
- 6.14.6. PassengerMaxPreloaderIdleTime <integer> => railsappspawneridletime-integer--1awgog1
171
+ 6.15.5. PassengerPoolIdleTime <integer> => passengerpoolidletime-integer--a3gunq
172
172
 
173
- 6.14.7. PassengerStartTimeout <seconds> => passengerstarttimeout-seconds--ihnfku
173
+ 6.15.6. PassengerMaxPreloaderIdleTime <integer> => railsappspawneridletime-integer--1awgog1
174
174
 
175
- 6.14.8. PassengerConcurrencyModel <process|thread> => passengerconcurrencymodel-process-thread--1eipofj
175
+ 6.15.7. PassengerStartTimeout <seconds> => passengerstarttimeout-seconds--ihnfku
176
176
 
177
- 6.14.9. PassengerThreadCount <number> => passengerthreadcount-number--10jl64a
177
+ 6.15.8. PassengerConcurrencyModel <process|thread> => passengerconcurrencymodel-process-thread--1eipofj
178
178
 
179
- 6.14.10. PassengerMaxRequests <integer> => passengermaxrequests-integer--17qkw9n
179
+ 6.15.9. PassengerThreadCount <number> => passengerthreadcount-number--10jl64a
180
180
 
181
- 6.14.11. PassengerMaxRequestTime <seconds> => passengermaxrequesttime-seconds--127v1i2
181
+ 6.15.10. PassengerMaxRequests <integer> => passengermaxrequests-integer--17qkw9n
182
182
 
183
- 6.14.12. PassengerMemoryLimit <integer> => passengermemorylimit-integer--18irza1
183
+ 6.15.11. PassengerMaxRequestTime <seconds> => passengermaxrequesttime-seconds--127v1i2
184
184
 
185
- 6.14.13. PassengerStatThrottleRate <integer> => passengerstatthrottlerate-integer--1dcfda3
185
+ 6.15.12. PassengerMemoryLimit <integer> => passengermemorylimit-integer--18irza1
186
186
 
187
- 6.14.14. PassengerPreStart <url> => passengerprestart-url--1utb57k
187
+ 6.15.13. PassengerStatThrottleRate <integer> => passengerstatthrottlerate-integer--1dcfda3
188
188
 
189
- 6.14.15. PassengerHighPerformance <on|off> => passengerhighperformance-on-off--nvfa86
189
+ 6.15.14. PassengerPreStart <url> => passengerprestart-url--1utb57k
190
190
 
191
- 6.15. Connection handling options => connection-handling-options-1k3zd1a
191
+ 6.15.15. PassengerHighPerformance <on|off> => passengerhighperformance-on-off--nvfa86
192
192
 
193
- 6.15.1. PassengerBufferResponse <on|off> => passengerbufferresponse-on-off--1y7ilka
193
+ 6.16. Connection handling options => connection-handling-options-1k3zd1a
194
194
 
195
- 6.15.2. passenger_max_request_queue_size <number> => passenger-max-request-queue-size-number--1f1uocd
195
+ 6.16.1. PassengerBufferResponse <on|off> => passengerbufferresponse-on-off--1y7ilka
196
196
 
197
- 6.16. Compatibility options => compatibility-options-8jve5a
197
+ 6.16.2. passenger_max_request_queue_size <number> => passenger-max-request-queue-size-number--1f1uocd
198
198
 
199
- 6.16.1. PassengerResolveSymlinksInDocumentRoot <on|off> => passengerresolvesymlinksindocumentroot-on-off--1r0qcp8
199
+ 6.17. Compatibility options => compatibility-options-8jve5a
200
200
 
201
- 6.16.2. PassengerAllowEncodedSlashes <on|off> => passengerallowencodedslashes-on-off--1y3s1ww
201
+ 6.17.1. PassengerResolveSymlinksInDocumentRoot <on|off> => passengerresolvesymlinksindocumentroot-on-off--1r0qcp8
202
202
 
203
- 6.17. Logging and debugging options => logging-and-debugging-options-el2cuc
203
+ 6.17.2. PassengerAllowEncodedSlashes <on|off> => passengerallowencodedslashes-on-off--1y3s1ww
204
204
 
205
- 6.17.1. PassengerLogLevel <integer> => passengerloglevel-integer--s3kbil
205
+ 6.18. Logging and debugging options => logging-and-debugging-options-el2cuc
206
206
 
207
- 6.17.2. PassengerDebugLogFile <filename> => passengerdebuglogfile-filename--1wjm2j1
207
+ 6.18.1. PassengerLogLevel <integer> => passengerloglevel-integer--s3kbil
208
208
 
209
- 6.17.3. PassengerDebugger <on|off> => passengerdebugger-on-off--19you7e
209
+ 6.18.2. PassengerDebugLogFile <filename> => passengerdebuglogfile-filename--1wjm2j1
210
210
 
211
- 6.18. Classic Ruby on Rails (⇐ 2.x)-specific options => ruby-on-rails-specific-options-1t10wfu
211
+ 6.18.3. PassengerDebugger <on|off> => passengerdebugger-on-off--19you7e
212
212
 
213
- 6.18.1. RailsBaseURI <uri> => railsbaseuri-uri--1txrw3k
213
+ 6.19. Classic Ruby on Rails (⇐ 2.x)-specific options => ruby-on-rails-specific-options-1t10wfu
214
214
 
215
- 6.18.2. RailsEnv <string> => railsenv-string--1b0xxvu
215
+ 6.19.1. RailsBaseURI <uri> => railsbaseuri-uri--1txrw3k
216
216
 
217
- 6.19. Rack and Rails >= 3 specific options => rack-specific-options-wk9qzt
217
+ 6.19.2. RailsEnv <string> => railsenv-string--1b0xxvu
218
218
 
219
- 6.19.1. RackBaseURI <uri> => rackbaseuri-uri--1to24pj
219
+ 6.20. Rack and Rails >= 3 specific options => rack-specific-options-wk9qzt
220
220
 
221
- 6.19.2. RackEnv <string> => rackenv-string--vve9py
221
+ 6.20.1. RackBaseURI <uri> => rackbaseuri-uri--1to24pj
222
222
 
223
- 6.20. Deprecated or removed options => deprecated-options-pm9m57
223
+ 6.20.2. RackEnv <string> => rackenv-string--vve9py
224
224
 
225
- 6.20.1. RailsRuby => railsruby-ht09ei
225
+ 6.21. Deprecated or removed options => deprecated-options-pm9m57
226
226
 
227
- 6.20.2. RailsUserSwitching => railsuserswitching-1npx8y4
227
+ 6.21.1. RailsRuby => railsruby-ht09ei
228
228
 
229
- 6.20.3. RailsDefaultUser => railsdefaultuser-19j7n3m
229
+ 6.21.2. RailsUserSwitching => railsuserswitching-1npx8y4
230
230
 
231
- 6.20.4. RailsAllowModRewrite => railsallowmodrewrite-1vkziro
231
+ 6.21.3. RailsDefaultUser => railsdefaultuser-19j7n3m
232
232
 
233
- 6.20.5. RailsSpawnMethod => railsspawnmethod-1aljgpa
233
+ 6.21.4. RailsAllowModRewrite => railsallowmodrewrite-1vkziro
234
234
 
235
- 6.20.6. RailsAutoDetect, RackAutoDetect and WsgiAutoDetect => railsautodetect-rackautodetect-and-wsgiautodetect-1qgakzs
235
+ 6.21.5. RailsSpawnMethod => railsspawnmethod-1aljgpa
236
236
 
237
- 6.20.7. RailsAppSpawnerIdleTime => railsappspawneridletime-heh41r
237
+ 6.21.6. RailsAutoDetect, RackAutoDetect and WsgiAutoDetect => railsautodetect-rackautodetect-and-wsgiautodetect-1qgakzs
238
238
 
239
- 6.20.8. RailsFrameworkSpawnerIdleTime => railsframeworkspawneridletime-adcf9k
239
+ 6.21.7. RailsAppSpawnerIdleTime => railsappspawneridletime-heh41r
240
+
241
+ 6.21.8. RailsFrameworkSpawnerIdleTime => railsframeworkspawneridletime-adcf9k
240
242
 
241
243
  7. Troubleshooting => troubleshooting-2ihihi
242
244
 
@@ -612,6 +612,24 @@ This option may occur in the following places:
612
612
 
613
613
  In each place, it may be specified at most once. The default value is 'smart'.
614
614
 
615
+ [[PassengerLoadShellEnvvars]]
616
+ === passengerLoadShellEnvvars <on|off> ===
617
+ :version: 4.0.20
618
+ include::users_guide_snippets/since_version.txt[]
619
+
620
+ Enables or disables the loading of shell environment variables before spawning the application.
621
+
622
+ If this option is turned on, and the user's shell is `bash`, then applications are loaded by running them with `bash -l -c`. Otherwise, they are loaded by running them directly from the `PassengerHelperAgent` process.
623
+
624
+ This option may occur in the following places:
625
+
626
+ * In the global server configuration.
627
+ * In a virtual host configuration block.
628
+ * In a `<Directory>` or `<Location>` block.
629
+ * In '.htaccess', if `AllowOverride Options` is on.
630
+
631
+ In each place, it may be specified at most once. The default value is 'on'.
632
+
615
633
  [[PassengerEnabled]]
616
634
  === PassengerEnabled <on|off> ===
617
635
  You can set this option to 'off' to completely disable Phusion Passenger for
@@ -1788,13 +1806,14 @@ This option may only occur once, in the global server configuration.
1788
1806
  include::users_guide_snippets/enterprise_only.txt[]
1789
1807
 
1790
1808
  Turns support for application debugging on or off. In case of Ruby applications,
1791
- turning this option on will cause them to load the `ruby-debug` gem (when on Ruby 1.8)
1792
- or the `debugger` gem (when on Ruby 1.9). If you're using Bundler, you should add
1793
- this to your Gemfile:
1809
+ turning this option on will cause them to load the `ruby-debug` gem (when on Ruby 1.8),
1810
+ the `debugger` gem (when on Ruby 1.9) or the `byebug` gem (when on Ruby 2.0). If you're
1811
+ using Bundler, you should add this to your Gemfile:
1794
1812
 
1795
1813
  -------------------------------------------
1796
1814
  gem 'ruby-debug', :platforms => :ruby_18
1797
1815
  gem 'debugger', :platforms => :ruby_19
1816
+ gem 'byebug', :platforms => :ruby_20
1798
1817
  -------------------------------------------
1799
1818
 
1800
1819
  Once debugging is turned on, you can use the command `passenger-irb --debug <PID>` to attach an rdebug console to the application process with the given PID. Attaching will succeed once the application process executes a `debugger` command.
@@ -130,105 +130,107 @@
130
130
 
131
131
  6.5. passenger_spawn_method <string> => passenger-spawn-method-string--1sc6njl
132
132
 
133
- 6.6. passenger_rolling_restarts <on|off> => passenger-rolling-restarts
133
+ 6.6. passenger_load_shell_envvars <on|off> => passenger-load-shell-envvars-on-off--fw5u4l
134
134
 
135
- 6.7. passenger_resist_deployment_errors <on|off> => passenger-resist-deployment-errors-on-off--k9yf1
135
+ 6.7. passenger_rolling_restarts <on|off> => passenger-rolling-restarts
136
136
 
137
- 6.8. passenger_temp_dir <directory> => passenger-temp-dir-directory--1t3opri
137
+ 6.8. passenger_resist_deployment_errors <on|off> => passenger-resist-deployment-errors-on-off--k9yf1
138
138
 
139
- 6.9. passenger_fly_with <socket filename> => passenger-fly-with-socket-filename--1amd1xn
139
+ 6.9. passenger_temp_dir <directory> => passenger-temp-dir-directory--1t3opri
140
140
 
141
- 6.10. Important deployment options => important-deployment-options-av567
141
+ 6.10. passenger_fly_with <socket filename> => passenger-fly-with-socket-filename--1amd1xn
142
142
 
143
- 6.10.1. passenger_enabled <on|off> => passenger-enabled-on-off--1rpb2t7
143
+ 6.11. Important deployment options => important-deployment-options-av567
144
144
 
145
- 6.10.2. passenger_base_uri <uri> => passenger-base-uri-uri--1xtuo50
145
+ 6.11.1. passenger_enabled <on|off> => passenger-enabled-on-off--1rpb2t7
146
146
 
147
- 6.11. Connection handling options => connection-handling-options-8jgq90
147
+ 6.11.2. passenger_base_uri <uri> => passenger-base-uri-uri--1xtuo50
148
148
 
149
- 6.11.1. passenger_ignore_client_abort <on|off> => passenger-ignore-client-abort
149
+ 6.12. Connection handling options => connection-handling-options-8jgq90
150
150
 
151
- 6.11.2. passenger_set_cgi_param <CGI environment name> <value> => passenger-set-cgi-param-cgi-environment-name-value--rx9gc0
151
+ 6.12.1. passenger_ignore_client_abort <on|off> => passenger-ignore-client-abort
152
152
 
153
- 6.11.3. passenger_pass_header <header name> => passenger-pass-header-header-name--1cg31je
153
+ 6.12.2. passenger_set_cgi_param <CGI environment name> <value> => passenger-set-cgi-param-cgi-environment-name-value--rx9gc0
154
154
 
155
- 6.11.4. passenger_buffer_response <on|off> => passenger-buffer-response
155
+ 6.12.3. passenger_pass_header <header name> => passenger-pass-header-header-name--1cg31je
156
156
 
157
- 6.11.5. passenger_buffer_size => passenger-buffer-size-1jfkq87
157
+ 6.12.4. passenger_buffer_response <on|off> => passenger-buffer-response
158
158
 
159
- 6.11.6. passenger_buffers => passenger-busy-buffers
159
+ 6.12.5. passenger_buffer_size => passenger-buffer-size-1jfkq87
160
160
 
161
- 6.11.7. passenger_busy_buffer_size => passenger-busy-buffer-size-124sj61
161
+ 6.12.6. passenger_buffers => passenger-busy-buffers
162
162
 
163
- 6.11.8. passenger_intercept_errors <on|off> => passenger-intercept-errors-1uvcb9x
163
+ 6.12.7. passenger_busy_buffer_size => passenger-busy-buffer-size-124sj61
164
164
 
165
- 6.11.9. passenger_max_request_queue_size <number> => passenger-max-request-queue-size-number--i0te1b
165
+ 6.12.8. passenger_intercept_errors <on|off> => passenger-intercept-errors-1uvcb9x
166
166
 
167
- 6.11.10. passenger_request_queue_overflow_status_code <code> => passenger-request-queue-overflow-status-code-code--1wcwuxl
167
+ 6.12.9. passenger_max_request_queue_size <number> => passenger-max-request-queue-size-number--i0te1b
168
168
 
169
- 6.12. Security options => security-options-1bv93g4
169
+ 6.12.10. passenger_request_queue_overflow_status_code <code> => passenger-request-queue-overflow-status-code-code--1wcwuxl
170
170
 
171
- 6.12.1. passenger_user_switching <on|off> => passenger-user-switching-on-off--1p37u3l
171
+ 6.13. Security options => security-options-1bv93g4
172
172
 
173
- 6.12.2. passenger_user <username> => passenger-user-username--b06ur7
173
+ 6.13.1. passenger_user_switching <on|off> => passenger-user-switching-on-off--1p37u3l
174
174
 
175
- 6.12.3. passenger_group <group name> => passenger-user-group-name--1fco4j7
175
+ 6.13.2. passenger_user <username> => passenger-user-username--b06ur7
176
176
 
177
- 6.12.4. passenger_default_user <username> => passenger-default-user-username--1h6cdmf
177
+ 6.13.3. passenger_group <group name> => passenger-user-group-name--1fco4j7
178
178
 
179
- 6.12.5. Passenger_default_group <group name> => passenger-default-group-group-name--1qxn2qa
179
+ 6.13.4. passenger_default_user <username> => passenger-default-user-username--1h6cdmf
180
180
 
181
- 6.12.6. passenger_show_version_in_header <on|off> => passenger-show-version-in-header-on-off--2h49av
181
+ 6.13.5. Passenger_default_group <group name> => passenger-default-group-group-name--1qxn2qa
182
182
 
183
- 6.12.7. passenger_friendly_error_pages <on|off> => passenger-friendly-error-pages-on-off--1ti1a0e
183
+ 6.13.6. passenger_show_version_in_header <on|off> => passenger-show-version-in-header-on-off--2h49av
184
184
 
185
- 6.13. Resource control and optimization options => resource-control-and-optimization-options-xd7evs
185
+ 6.13.7. passenger_friendly_error_pages <on|off> => passenger-friendly-error-pages-on-off--1ti1a0e
186
186
 
187
- 6.13.1. passenger_max_pool_size <integer> => passenger-max-pool-size-integer--3jzefs
187
+ 6.14. Resource control and optimization options => resource-control-and-optimization-options-xd7evs
188
188
 
189
- 6.13.2. passenger_min_instances <integer> => passenger-min-instances-integer--uclykt
189
+ 6.14.1. passenger_max_pool_size <integer> => passenger-max-pool-size-integer--3jzefs
190
190
 
191
- 6.13.3. passenger_max_instances <integer> => passenger-max-instances
191
+ 6.14.2. passenger_min_instances <integer> => passenger-min-instances-integer--uclykt
192
192
 
193
- 6.13.4. passenger_max_instances_per_app <integer> => passenger-max-instances-per-app-integer--1xhbbne
193
+ 6.14.3. passenger_max_instances <integer> => passenger-max-instances
194
194
 
195
- 6.13.5. passenger_pool_idle_time <integer> => passenger-pool-idle-time-integer--xcw65o
195
+ 6.14.4. passenger_max_instances_per_app <integer> => passenger-max-instances-per-app-integer--1xhbbne
196
196
 
197
- 6.13.6. passenger_max_preloader_idle_time <integer> => rails-app-spawner-idle-time-integer--1xjqe4b
197
+ 6.14.5. passenger_pool_idle_time <integer> => passenger-pool-idle-time-integer--xcw65o
198
198
 
199
- 6.13.7. passenger_start_timeout <seconds> => passenger-start-timeout-seconds--8xn504
199
+ 6.14.6. passenger_max_preloader_idle_time <integer> => rails-app-spawner-idle-time-integer--1xjqe4b
200
200
 
201
- 6.13.8. passenger_concurrency_model <process|thread> => passenger-concurrency-model-process-thread--brcvkk
201
+ 6.14.7. passenger_start_timeout <seconds> => passenger-start-timeout-seconds--8xn504
202
202
 
203
- 6.13.9. passenger_thread_count <number> => passenger-thread-count-number--1kd6ffy
203
+ 6.14.8. passenger_concurrency_model <process|thread> => passenger-concurrency-model-process-thread--brcvkk
204
204
 
205
- 6.13.10. passenger_max_requests <integer> => passenger-max-requests-integer--sgzint
205
+ 6.14.9. passenger_thread_count <number> => passenger-thread-count-number--1kd6ffy
206
206
 
207
- 6.13.11. passenger_max_request_time <seconds> => passenger-max-request-time-seconds--1htog2g
207
+ 6.14.10. passenger_max_requests <integer> => passenger-max-requests-integer--sgzint
208
208
 
209
- 6.13.12. passenger_memory_limit <integer> => passenger-memory-limit-integer--1ry7dwx
209
+ 6.14.11. passenger_max_request_time <seconds> => passenger-max-request-time-seconds--1htog2g
210
210
 
211
- 6.13.13. passenger_pre_start <url> => passenger-pre-start-url--npldeb
211
+ 6.14.12. passenger_memory_limit <integer> => passenger-memory-limit-integer--1ry7dwx
212
212
 
213
- 6.14. Logging and debugging options => logging-and-debugging-options-14e91ni
213
+ 6.14.13. passenger_pre_start <url> => passenger-pre-start-url--npldeb
214
214
 
215
- 6.14.1. passenger_log_level <integer> => passenger-log-level-integer--17snhon
215
+ 6.15. Logging and debugging options => logging-and-debugging-options-14e91ni
216
216
 
217
- 6.14.2. passenger_debug_log_file <filename> => passenger-debug-log-file-filename--21ubaj
217
+ 6.15.1. passenger_log_level <integer> => passenger-log-level-integer--17snhon
218
218
 
219
- 6.14.3. passenger_debugger <on|off> => passenger-debugger-on-off--1wkuq85
219
+ 6.15.2. passenger_debug_log_file <filename> => passenger-debug-log-file-filename--21ubaj
220
220
 
221
- 6.15. Ruby on Rails-specific options => ruby-on-rails-specific-options-12vfokt
221
+ 6.15.3. passenger_debugger <on|off> => passenger-debugger-on-off--1wkuq85
222
222
 
223
- 6.15.1. rails_env <string> => rails-env-string--jlh7v9
223
+ 6.16. Ruby on Rails-specific options => ruby-on-rails-specific-options-12vfokt
224
224
 
225
- 6.16. Rack and Rails >= 3 specific options => rack-specific-options-13yvdxs
225
+ 6.16.1. rails_env <string> => rails-env-string--jlh7v9
226
226
 
227
- 6.16.1. rack_env <string> => rack-env-string--tqmrt0
227
+ 6.17. Rack and Rails >= 3 specific options => rack-specific-options-13yvdxs
228
228
 
229
- 6.17. Deprecated options => deprecated-options-1dtzo0g
229
+ 6.17.1. rack_env <string> => rack-env-string--tqmrt0
230
230
 
231
- 6.17.1. rails_spawn_method => rails-spawn-method-17vdnpt
231
+ 6.18. Deprecated options => deprecated-options-1dtzo0g
232
+
233
+ 6.18.1. rails_spawn_method => rails-spawn-method-17vdnpt
232
234
 
233
235
  7. Analysis and system maintenance => analysis-and-system-maintenance-1nnlnj8
234
236