passenger 3.9.2.beta → 4.0.0.rc4
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/.travis.yml +3 -0
- data/NEWS +77 -7
- data/README.md +3 -11
- data/bin/passenger-install-apache2-module +24 -20
- data/bin/passenger-install-nginx-module +25 -23
- data/build/agents.rb +11 -0
- data/build/apache2.rb +9 -5
- data/build/basics.rb +37 -30
- data/build/common_library.rb +4 -1
- data/build/cplusplus_support.rb +5 -5
- data/build/cxx_tests.rb +28 -8
- data/build/integration_tests.rb +6 -3
- data/build/nginx.rb +3 -3
- data/build/packaging.rb +95 -57
- data/build/ruby_extension.rb +34 -21
- data/build/ruby_tests.rb +4 -2
- data/build/test_basics.rb +1 -1
- data/dev/run_travis.sh +36 -1
- data/doc/Users guide Apache.html +425 -308
- data/doc/Users guide Apache.idmap.txt +78 -70
- data/doc/Users guide Apache.index.sqlite3 +0 -0
- data/doc/Users guide Apache.txt +33 -92
- data/doc/Users guide Nginx.html +519 -220
- data/doc/Users guide Nginx.idmap.txt +78 -60
- data/doc/Users guide Nginx.txt +115 -26
- data/doc/Users guide Standalone.html +8 -2
- data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +1 -7
- data/doc/users_guide_snippets/installation.txt +167 -22
- data/doc/users_guide_snippets/rackup_specifications.txt +4 -0
- data/doc/users_guide_snippets/since_version.txt +1 -0
- data/doc/users_guide_snippets/support_information.txt +3 -7
- data/doc/users_guide_snippets/tips.txt +0 -24
- data/ext/apache2/Configuration.cpp +11 -33
- data/ext/apache2/Configuration.hpp +3 -18
- data/ext/apache2/DirectoryMapper.h +20 -70
- data/ext/apache2/Hooks.cpp +2 -2
- data/ext/common/AgentsStarter.cpp +0 -2
- data/ext/common/AgentsStarter.h +0 -1
- data/ext/common/AgentsStarter.hpp +1 -3
- data/ext/common/ApplicationPool2/AppTypes.cpp +74 -0
- data/ext/common/ApplicationPool2/AppTypes.h +202 -0
- data/ext/common/ApplicationPool2/Common.h +12 -10
- data/ext/common/ApplicationPool2/DirectSpawner.h +256 -0
- data/ext/common/ApplicationPool2/DummySpawner.h +90 -0
- data/ext/common/ApplicationPool2/Group.h +311 -94
- data/ext/common/ApplicationPool2/Implementation.cpp +405 -145
- data/ext/common/ApplicationPool2/Options.h +24 -26
- data/ext/common/ApplicationPool2/PipeWatcher.h +20 -13
- data/ext/common/ApplicationPool2/Pool.h +326 -183
- data/ext/common/ApplicationPool2/Process.h +205 -55
- data/ext/common/ApplicationPool2/README.md +1 -1
- data/ext/common/ApplicationPool2/Session.h +21 -10
- data/ext/common/ApplicationPool2/SmartSpawner.h +801 -0
- data/ext/common/ApplicationPool2/Spawner.h +141 -1149
- data/ext/common/ApplicationPool2/SpawnerFactory.h +132 -0
- data/ext/common/ApplicationPool2/SuperGroup.h +146 -223
- data/ext/common/Constants.h +4 -2
- data/ext/common/Exceptions.h +23 -1
- data/ext/common/Logging.cpp +17 -6
- data/ext/common/Logging.h +37 -7
- data/ext/common/ResourceLocator.h +1 -1
- data/ext/common/Utils.cpp +49 -1
- data/ext/common/Utils.h +13 -4
- data/ext/common/{AnsiColorConstants.h → Utils/AnsiColorConstants.h} +0 -0
- data/ext/common/{BCrypt.cpp → Utils/BCrypt.cpp} +0 -0
- data/ext/common/{BCrypt.h → Utils/BCrypt.h} +0 -0
- data/ext/common/{Blowfish.c → Utils/Blowfish.c} +0 -0
- data/ext/common/{Blowfish.h → Utils/Blowfish.h} +0 -0
- data/ext/common/Utils/CachedFileStat.hpp +27 -25
- data/ext/common/Utils/Curl.h +184 -0
- data/ext/common/{HttpConstants.h → Utils/HttpConstants.h} +3 -0
- data/ext/common/Utils/IOUtils.cpp +6 -2
- data/ext/common/{IniFile.h → Utils/IniFile.h} +0 -0
- data/ext/common/Utils/LargeFiles.cpp +30 -0
- data/ext/common/Utils/LargeFiles.h +40 -0
- data/ext/common/Utils/StrIntUtils.cpp +72 -8
- data/ext/common/Utils/StrIntUtils.h +24 -2
- data/ext/common/Utils/StringMap.h +12 -2
- data/ext/common/Utils/VariantMap.h +51 -2
- data/ext/common/Utils/jsoncpp.cpp +1 -1
- data/ext/common/agents/Base.cpp +147 -11
- data/ext/common/agents/HelperAgent/AgentOptions.h +14 -6
- data/ext/common/agents/HelperAgent/Main.cpp +79 -19
- data/ext/common/agents/HelperAgent/RequestHandler.h +36 -16
- data/ext/common/agents/LoggingAgent/LoggingServer.h +3 -5
- data/ext/common/agents/LoggingAgent/Main.cpp +2 -4
- data/ext/common/agents/LoggingAgent/RemoteSender.h +18 -24
- data/ext/common/agents/SpawnPreparer.cpp +7 -0
- data/ext/common/agents/Watchdog/Main.cpp +96 -38
- data/ext/nginx/Configuration.c +26 -22
- data/ext/nginx/Configuration.h +4 -2
- data/ext/nginx/ContentHandler.c +23 -52
- data/ext/nginx/ContentHandler.h +5 -11
- data/ext/nginx/config +10 -3
- data/ext/nginx/ngx_http_passenger_module.c +21 -6
- data/ext/nginx/ngx_http_passenger_module.h +4 -1
- data/ext/oxt/dynamic_thread_group.hpp +9 -1
- data/ext/oxt/system_calls.cpp +2 -2
- data/ext/ruby/extconf.rb +2 -1
- data/helper-scripts/backtrace-sanitizer.rb +2 -0
- data/helper-scripts/wsgi-loader.py +54 -21
- data/lib/phusion_passenger.rb +5 -3
- data/lib/phusion_passenger/abstract_installer.rb +18 -41
- data/lib/phusion_passenger/admin_tools/memory_stats.rb +2 -2
- data/lib/phusion_passenger/admin_tools/server_instance.rb +2 -2
- data/lib/phusion_passenger/common_library.rb +23 -3
- data/lib/phusion_passenger/debug_logging.rb +10 -3
- data/lib/phusion_passenger/packaging.rb +1 -0
- data/lib/phusion_passenger/platform_info.rb +113 -115
- data/lib/phusion_passenger/platform_info/compiler.rb +224 -134
- data/lib/phusion_passenger/platform_info/cxx_portability.rb +143 -0
- data/lib/phusion_passenger/platform_info/depcheck.rb +371 -0
- data/lib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +124 -0
- data/lib/phusion_passenger/platform_info/depcheck_specs/compiler_toolchain.rb +97 -0
- data/lib/phusion_passenger/platform_info/depcheck_specs/gems.rb +39 -0
- data/lib/phusion_passenger/platform_info/depcheck_specs/libs.rb +118 -0
- data/lib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +137 -0
- data/lib/phusion_passenger/platform_info/depcheck_specs/utilities.rb +15 -0
- data/lib/phusion_passenger/platform_info/operating_system.rb +6 -5
- data/lib/phusion_passenger/platform_info/ruby.rb +45 -34
- data/lib/phusion_passenger/request_handler.rb +35 -22
- data/lib/phusion_passenger/request_handler/thread_handler.rb +5 -6
- data/lib/phusion_passenger/ruby_core_enhancements.rb +7 -1
- data/lib/phusion_passenger/standalone/runtime_installer.rb +43 -34
- data/lib/phusion_passenger/utils/robust_interruption.rb +34 -18
- data/passenger.gemspec +25 -0
- data/resources/templates/standalone/config.erb +3 -1
- data/test/config.json.travis +2 -2
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +37 -5
- data/test/cxx/ApplicationPool2/PoolTest.cpp +143 -50
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +8 -0
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +28 -17
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +31 -26
- data/test/cxx/RequestHandlerTest.cpp +17 -1
- data/test/cxx/UtilsTest.cpp +84 -10
- data/test/integration_tests/apache2_tests.rb +49 -163
- data/test/integration_tests/hello_world_wsgi_spec.rb +2 -2
- data/test/integration_tests/mycook_spec.rb +1 -1
- data/test/integration_tests/nginx_tests.rb +37 -19
- data/test/ruby/request_handler_spec.rb +1 -0
- data/test/ruby/spec_helper.rb +52 -1
- data/test/stub/nginx/nginx.conf.erb +2 -0
- data/test/stub/rack/start.rb +5 -0
- data/test/stub/rails3.0/Gemfile.lock +30 -30
- data/test/stub/rails3.1/Gemfile +1 -1
- data/test/stub/rails3.1/Gemfile.lock +3 -3
- data/test/stub/rails3.2/Gemfile +1 -1
- data/test/stub/rails3.2/Gemfile.lock +4 -4
- data/test/stub/rails_apps/2.3/mycook/app/controllers/welcome_controller.rb +1 -1
- data/test/stub/rails_apps/2.3/mycook/app/helpers/recipes_helper.rb +2 -0
- data/test/stub/rails_apps/2.3/mycook/app/helpers/test_helper.rb +2 -0
- data/test/stub/rails_apps/2.3/mycook/app/helpers/uploads_helper.rb +2 -0
- data/test/stub/rails_apps/2.3/mycook/app/helpers/welcome_helper.rb +2 -0
- data/test/support/nginx_controller.rb +2 -1
- metadata +160 -156
- data/build/gempackagetask.rb +0 -99
- data/build/packagetask.rb +0 -186
- data/ext/common/StringListCreator.h +0 -83
- data/lib/phusion_passenger/dependencies.rb +0 -657
@@ -8,11 +8,11 @@ shared_examples_for "HelloWorld WSGI application" do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
it "is possible to GET a regular WSGI page" do
|
11
|
-
get('/').should
|
11
|
+
get('/').should include("hello <b>world</b>")
|
12
12
|
end
|
13
13
|
|
14
14
|
it "supports restarting via restart.txt" do
|
15
|
-
get('/').should
|
15
|
+
get('/').should include("hello <b>world</b>")
|
16
16
|
|
17
17
|
code = %q{
|
18
18
|
def application(env, start_response):
|
@@ -13,20 +13,12 @@ describe "Phusion Passenger for Nginx" do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
check_hosts_configuration
|
16
|
-
@nginx = NginxController.new("tmp.nginx")
|
17
|
-
if Process.uid == 0
|
18
|
-
@nginx.set(
|
19
|
-
:www_user => CONFIG['normal_user_1'],
|
20
|
-
:www_group => Etc.getgrgid(Etc.getpwnam(CONFIG['normal_user_1']).gid).name
|
21
|
-
)
|
22
|
-
end
|
23
|
-
|
24
16
|
FileUtils.mkdir_p("tmp.nginx")
|
25
17
|
end
|
26
18
|
|
27
19
|
after :all do
|
28
20
|
begin
|
29
|
-
@nginx.stop
|
21
|
+
@nginx.stop if @nginx
|
30
22
|
ensure
|
31
23
|
FileUtils.rm_rf("tmp.nginx")
|
32
24
|
end
|
@@ -36,15 +28,26 @@ describe "Phusion Passenger for Nginx" do
|
|
36
28
|
File.open("test.log", "a") do |f|
|
37
29
|
# Make sure that all Nginx log output is prepended by the test description
|
38
30
|
# so that we know which messages are associated with which tests.
|
39
|
-
f.puts "\n#### #{
|
31
|
+
f.puts "\n#### #{Time.now}: #{example.full_description}"
|
40
32
|
end
|
41
33
|
end
|
42
|
-
|
34
|
+
|
35
|
+
def create_nginx_controller(options = {})
|
36
|
+
@nginx = NginxController.new("tmp.nginx")
|
37
|
+
if Process.uid == 0
|
38
|
+
@nginx.set({
|
39
|
+
:www_user => CONFIG['normal_user_1'],
|
40
|
+
:www_group => Etc.getgrgid(Etc.getpwnam(CONFIG['normal_user_1']).gid).name
|
41
|
+
}.merge(options))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
43
45
|
describe "MyCook(tm) beta running a root URI" do
|
44
46
|
before :all do
|
47
|
+
create_nginx_controller
|
45
48
|
@server = "http://1.passenger.test:#{@nginx.port}"
|
46
49
|
@base_uri = ""
|
47
|
-
@stub =
|
50
|
+
@stub = ClassicRailsStub.new('rails_apps/2.3/mycook')
|
48
51
|
@nginx.add_server do |server|
|
49
52
|
server[:server_name] = "1.passenger.test"
|
50
53
|
server[:root] = "#{@stub.full_app_root}/public"
|
@@ -54,6 +57,7 @@ describe "Phusion Passenger for Nginx" do
|
|
54
57
|
|
55
58
|
after :all do
|
56
59
|
@stub.destroy
|
60
|
+
@nginx.stop if @nginx
|
57
61
|
end
|
58
62
|
|
59
63
|
before :each do
|
@@ -61,18 +65,19 @@ describe "Phusion Passenger for Nginx" do
|
|
61
65
|
end
|
62
66
|
|
63
67
|
it_should_behave_like "MyCook(tm) beta"
|
64
|
-
|
68
|
+
include_examples "CGI environment variables compliance"
|
65
69
|
end
|
66
70
|
|
67
71
|
describe "MyCook(tm) beta running in a sub-URI" do
|
68
72
|
before :all do
|
69
73
|
@base_uri = "/mycook"
|
70
|
-
@stub =
|
74
|
+
@stub = ClassicRailsStub.new('rails_apps/2.3/mycook')
|
71
75
|
FileUtils.rm_rf('tmp.webdir')
|
72
76
|
FileUtils.mkdir_p('tmp.webdir')
|
73
77
|
FileUtils.cp_r('stub/zsfa/.', 'tmp.webdir')
|
74
78
|
FileUtils.ln_sf(@stub.full_app_root + "/public", 'tmp.webdir/mycook')
|
75
79
|
|
80
|
+
create_nginx_controller
|
76
81
|
@nginx.add_server do |server|
|
77
82
|
server[:server_name] = "1.passenger.test"
|
78
83
|
server[:root] = File.expand_path("tmp.webdir")
|
@@ -84,15 +89,16 @@ describe "Phusion Passenger for Nginx" do
|
|
84
89
|
after :all do
|
85
90
|
FileUtils.rm_rf('tmp.webdir')
|
86
91
|
@stub.destroy
|
92
|
+
@nginx.stop if @nginx
|
87
93
|
end
|
88
94
|
|
89
95
|
before :each do
|
90
96
|
@server = "http://1.passenger.test:#{@nginx.port}/mycook"
|
91
97
|
@stub.reset
|
92
98
|
end
|
93
|
-
|
99
|
+
|
94
100
|
it_should_behave_like "MyCook(tm) beta"
|
95
|
-
|
101
|
+
include_examples "CGI environment variables compliance"
|
96
102
|
|
97
103
|
it "does not interfere with the root website" do
|
98
104
|
@server = "http://1.passenger.test:#{@nginx.port}"
|
@@ -102,6 +108,7 @@ describe "Phusion Passenger for Nginx" do
|
|
102
108
|
|
103
109
|
describe "Rack application running in root URI" do
|
104
110
|
before :all do
|
111
|
+
create_nginx_controller
|
105
112
|
@server = "http://passenger.test:#{@nginx.port}"
|
106
113
|
@stub = RackStub.new('rack')
|
107
114
|
@nginx.add_server do |server|
|
@@ -114,6 +121,7 @@ describe "Phusion Passenger for Nginx" do
|
|
114
121
|
|
115
122
|
after :all do
|
116
123
|
@stub.destroy
|
124
|
+
@nginx.stop if @nginx
|
117
125
|
end
|
118
126
|
|
119
127
|
before :each do
|
@@ -128,6 +136,7 @@ describe "Phusion Passenger for Nginx" do
|
|
128
136
|
FileUtils.rm_rf('tmp.webdir')
|
129
137
|
FileUtils.mkdir_p('tmp.webdir')
|
130
138
|
@stub = RackStub.new('rack')
|
139
|
+
create_nginx_controller
|
131
140
|
@nginx.add_server do |server|
|
132
141
|
FileUtils.ln_s(@stub.full_app_root + "/public", 'tmp.webdir/rack')
|
133
142
|
server[:server_name] = "passenger.test"
|
@@ -141,6 +150,7 @@ describe "Phusion Passenger for Nginx" do
|
|
141
150
|
after :all do
|
142
151
|
@stub.destroy
|
143
152
|
FileUtils.rm_rf('tmp.webdir')
|
153
|
+
@nginx.stop if @nginx
|
144
154
|
end
|
145
155
|
|
146
156
|
before :each do
|
@@ -152,8 +162,9 @@ describe "Phusion Passenger for Nginx" do
|
|
152
162
|
|
153
163
|
describe "Rack application running within Rails directory structure" do
|
154
164
|
before :all do
|
165
|
+
create_nginx_controller
|
155
166
|
@server = "http://passenger.test:#{@nginx.port}"
|
156
|
-
@stub =
|
167
|
+
@stub = ClassicRailsStub.new('rails_apps/2.3/mycook')
|
157
168
|
FileUtils.cp_r("stub/rack/.", @stub.app_root)
|
158
169
|
@nginx.add_server do |server|
|
159
170
|
server[:server_name] = "passenger.test"
|
@@ -164,6 +175,7 @@ describe "Phusion Passenger for Nginx" do
|
|
164
175
|
|
165
176
|
after :all do
|
166
177
|
@stub.destroy
|
178
|
+
@nginx.stop if @nginx
|
167
179
|
end
|
168
180
|
|
169
181
|
before :each do
|
@@ -176,6 +188,7 @@ describe "Phusion Passenger for Nginx" do
|
|
176
188
|
|
177
189
|
describe "various features" do
|
178
190
|
before :all do
|
191
|
+
create_nginx_controller
|
179
192
|
@server = "http://passenger.test:#{@nginx.port}"
|
180
193
|
@stub = RackStub.new('rack')
|
181
194
|
@nginx.add_server do |server|
|
@@ -203,6 +216,7 @@ describe "Phusion Passenger for Nginx" do
|
|
203
216
|
|
204
217
|
after :all do
|
205
218
|
@stub.destroy
|
219
|
+
@nginx.stop if @nginx
|
206
220
|
end
|
207
221
|
|
208
222
|
before :each do
|
@@ -263,8 +277,8 @@ describe "Phusion Passenger for Nginx" do
|
|
263
277
|
end
|
264
278
|
|
265
279
|
describe "oob work" do
|
266
|
-
|
267
280
|
before :all do
|
281
|
+
create_nginx_controller
|
268
282
|
@server = "http://passenger.test:#{@nginx.port}"
|
269
283
|
@stub = RackStub.new('rack')
|
270
284
|
@nginx.add_server do |server|
|
@@ -272,6 +286,11 @@ describe "Phusion Passenger for Nginx" do
|
|
272
286
|
server[:root] = "#{@stub.full_app_root}/public"
|
273
287
|
end
|
274
288
|
end
|
289
|
+
|
290
|
+
after :all do
|
291
|
+
@stub.destroy
|
292
|
+
@nginx.stop if @nginx
|
293
|
+
end
|
275
294
|
|
276
295
|
before :each do
|
277
296
|
@stub.reset
|
@@ -308,7 +327,6 @@ describe "Phusion Passenger for Nginx" do
|
|
308
327
|
secs = Time.now - t0
|
309
328
|
secs.should <= 0.1
|
310
329
|
end
|
311
|
-
|
312
330
|
end
|
313
331
|
|
314
332
|
##### Helper methods #####
|
data/test/ruby/spec_helper.rb
CHANGED
@@ -22,11 +22,14 @@ AGENTS_DIR = "#{source_root}/agents"
|
|
22
22
|
$LOAD_PATH.unshift("#{source_root}/lib")
|
23
23
|
$LOAD_PATH.unshift("#{source_root}/test")
|
24
24
|
|
25
|
+
require 'thread'
|
26
|
+
require 'timeout'
|
25
27
|
require 'fileutils'
|
26
28
|
require 'support/test_helper'
|
27
29
|
require 'phusion_passenger'
|
28
30
|
PhusionPassenger.locate_directories
|
29
31
|
require 'phusion_passenger/debug_logging'
|
32
|
+
require 'phusion_passenger/utils'
|
30
33
|
require 'phusion_passenger/utils/tmpdir'
|
31
34
|
|
32
35
|
include TestHelper
|
@@ -36,9 +39,54 @@ include TestHelper
|
|
36
39
|
srand
|
37
40
|
|
38
41
|
trap "QUIT" do
|
39
|
-
puts
|
42
|
+
STDERR.puts PhusionPassenger::Utils.global_backtrace_report
|
40
43
|
end
|
41
44
|
|
45
|
+
class DeadlineTimer
|
46
|
+
def initialize(main_thread, deadline)
|
47
|
+
@mutex = Mutex.new
|
48
|
+
@cond = ConditionVariable.new
|
49
|
+
@iteration = 0
|
50
|
+
@pipe = IO.pipe
|
51
|
+
|
52
|
+
@thread = Thread.new do
|
53
|
+
Thread.current.abort_on_exception = true
|
54
|
+
expected_iteration = 1
|
55
|
+
ios = [@pipe[0]]
|
56
|
+
while true
|
57
|
+
@mutex.synchronize do
|
58
|
+
while @iteration != expected_iteration
|
59
|
+
@cond.wait(@mutex)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
if !select(ios, nil, nil, deadline)
|
63
|
+
STDERR.puts "*** Test timed out (#{deadline} seconds)"
|
64
|
+
STDERR.puts PhusionPassenger::Utils.global_backtrace_report
|
65
|
+
main_thread.raise(Timeout::Error, "Test timed out")
|
66
|
+
expected_iteration += 1
|
67
|
+
elsif @pipe[0].read(1).nil?
|
68
|
+
break
|
69
|
+
else
|
70
|
+
expected_iteration += 1
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def start
|
77
|
+
@mutex.synchronize do
|
78
|
+
@iteration += 1
|
79
|
+
@cond.signal
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def stop
|
84
|
+
@pipe[1].write('x')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
DEADLINE_TIMER = DeadlineTimer.new(Thread.current, 30)
|
89
|
+
|
42
90
|
RSpec.configure do |config|
|
43
91
|
config.before(:each) do
|
44
92
|
# Suppress warning messages.
|
@@ -48,6 +96,8 @@ RSpec.configure do |config|
|
|
48
96
|
|
49
97
|
# Create the temp directory.
|
50
98
|
PhusionPassenger::Utils.passenger_tmpdir
|
99
|
+
|
100
|
+
DEADLINE_TIMER.start
|
51
101
|
end
|
52
102
|
|
53
103
|
config.after(:each) do
|
@@ -55,5 +105,6 @@ RSpec.configure do |config|
|
|
55
105
|
if File.exist?(tmpdir)
|
56
106
|
remove_dir_tree(tmpdir)
|
57
107
|
end
|
108
|
+
DEADLINE_TIMER.stop
|
58
109
|
end
|
59
110
|
end
|
@@ -22,6 +22,8 @@ http {
|
|
22
22
|
passenger_ruby <%= PlatformInfo.ruby_command %>;
|
23
23
|
passenger_default_user <%= CONFIG['default_user'] %>;
|
24
24
|
passenger_default_group <%= CONFIG['default_group'] %>;
|
25
|
+
passenger_max_pool_size <%= @max_pool_size %>;
|
26
|
+
passenger_log_level 3;
|
25
27
|
|
26
28
|
<% for server in @servers %>
|
27
29
|
server {
|
data/test/stub/rack/start.rb
CHANGED
@@ -12,6 +12,11 @@ while (line = STDIN.readline) != "\n"
|
|
12
12
|
options[name] = value
|
13
13
|
end
|
14
14
|
|
15
|
+
if ARGV[0] == "--execself"
|
16
|
+
# Used for testing https://code.google.com/p/phusion-passenger/issues/detail?id=842#c19
|
17
|
+
exec("ruby", $0)
|
18
|
+
end
|
19
|
+
|
15
20
|
server = TCPServer.new('127.0.0.1', 0)
|
16
21
|
puts "!> Ready"
|
17
22
|
puts "!> socket: main;tcp://127.0.0.1:#{server.addr[1]};session;1"
|
@@ -2,12 +2,12 @@ GEM
|
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
4
|
abstract (1.0.0)
|
5
|
-
actionmailer (3.0.
|
6
|
-
actionpack (= 3.0.
|
5
|
+
actionmailer (3.0.20)
|
6
|
+
actionpack (= 3.0.20)
|
7
7
|
mail (~> 2.2.19)
|
8
|
-
actionpack (3.0.
|
9
|
-
activemodel (= 3.0.
|
10
|
-
activesupport (= 3.0.
|
8
|
+
actionpack (3.0.20)
|
9
|
+
activemodel (= 3.0.20)
|
10
|
+
activesupport (= 3.0.20)
|
11
11
|
builder (~> 2.1.2)
|
12
12
|
erubis (~> 2.6.6)
|
13
13
|
i18n (~> 0.5.0)
|
@@ -15,62 +15,62 @@ GEM
|
|
15
15
|
rack-mount (~> 0.6.14)
|
16
16
|
rack-test (~> 0.5.7)
|
17
17
|
tzinfo (~> 0.3.23)
|
18
|
-
activemodel (3.0.
|
19
|
-
activesupport (= 3.0.
|
18
|
+
activemodel (3.0.20)
|
19
|
+
activesupport (= 3.0.20)
|
20
20
|
builder (~> 2.1.2)
|
21
21
|
i18n (~> 0.5.0)
|
22
|
-
activerecord (3.0.
|
23
|
-
activemodel (= 3.0.
|
24
|
-
activesupport (= 3.0.
|
22
|
+
activerecord (3.0.20)
|
23
|
+
activemodel (= 3.0.20)
|
24
|
+
activesupport (= 3.0.20)
|
25
25
|
arel (~> 2.0.10)
|
26
26
|
tzinfo (~> 0.3.23)
|
27
|
-
activeresource (3.0.
|
28
|
-
activemodel (= 3.0.
|
29
|
-
activesupport (= 3.0.
|
30
|
-
activesupport (3.0.
|
27
|
+
activeresource (3.0.20)
|
28
|
+
activemodel (= 3.0.20)
|
29
|
+
activesupport (= 3.0.20)
|
30
|
+
activesupport (3.0.20)
|
31
31
|
arel (2.0.10)
|
32
32
|
builder (2.1.2)
|
33
33
|
erubis (2.6.6)
|
34
34
|
abstract (>= 1.0.0)
|
35
35
|
i18n (0.5.0)
|
36
|
-
json (1.7.
|
36
|
+
json (1.7.6)
|
37
37
|
mail (2.2.19)
|
38
38
|
activesupport (>= 2.3.6)
|
39
39
|
i18n (>= 0.4.0)
|
40
40
|
mime-types (~> 1.16)
|
41
41
|
treetop (~> 1.4.8)
|
42
|
-
mime-types (1.
|
42
|
+
mime-types (1.20.1)
|
43
43
|
polyglot (0.3.3)
|
44
|
-
rack (1.2.
|
44
|
+
rack (1.2.7)
|
45
45
|
rack-mount (0.6.14)
|
46
46
|
rack (>= 1.0.0)
|
47
47
|
rack-test (0.5.7)
|
48
48
|
rack (>= 1.0)
|
49
|
-
rails (3.0.
|
50
|
-
actionmailer (= 3.0.
|
51
|
-
actionpack (= 3.0.
|
52
|
-
activerecord (= 3.0.
|
53
|
-
activeresource (= 3.0.
|
54
|
-
activesupport (= 3.0.
|
49
|
+
rails (3.0.20)
|
50
|
+
actionmailer (= 3.0.20)
|
51
|
+
actionpack (= 3.0.20)
|
52
|
+
activerecord (= 3.0.20)
|
53
|
+
activeresource (= 3.0.20)
|
54
|
+
activesupport (= 3.0.20)
|
55
55
|
bundler (~> 1.0)
|
56
|
-
railties (= 3.0.
|
57
|
-
railties (3.0.
|
58
|
-
actionpack (= 3.0.
|
59
|
-
activesupport (= 3.0.
|
56
|
+
railties (= 3.0.20)
|
57
|
+
railties (3.0.20)
|
58
|
+
actionpack (= 3.0.20)
|
59
|
+
activesupport (= 3.0.20)
|
60
60
|
rake (>= 0.8.7)
|
61
61
|
rdoc (~> 3.4)
|
62
62
|
thor (~> 0.14.4)
|
63
|
-
rake (0.
|
63
|
+
rake (10.0.3)
|
64
64
|
rdoc (3.12)
|
65
65
|
json (~> 1.4)
|
66
66
|
sqlite3 (1.3.6)
|
67
67
|
sqlite3-ruby (1.3.3)
|
68
68
|
sqlite3 (>= 1.3.3)
|
69
69
|
thor (0.14.6)
|
70
|
-
treetop (1.4.
|
70
|
+
treetop (1.4.12)
|
71
71
|
polyglot
|
72
72
|
polyglot (>= 0.3.1)
|
73
|
-
tzinfo (0.3.
|
73
|
+
tzinfo (0.3.35)
|
74
74
|
|
75
75
|
PLATFORMS
|
76
76
|
ruby
|
data/test/stub/rails3.1/Gemfile
CHANGED
@@ -51,7 +51,7 @@ GEM
|
|
51
51
|
i18n (>= 0.4.0)
|
52
52
|
mime-types (~> 1.16)
|
53
53
|
treetop (~> 1.4.8)
|
54
|
-
mime-types (1.
|
54
|
+
mime-types (1.20.1)
|
55
55
|
multi_json (1.2.0)
|
56
56
|
polyglot (0.3.3)
|
57
57
|
rack (1.3.9)
|
@@ -59,7 +59,7 @@ GEM
|
|
59
59
|
rack (>= 0.4)
|
60
60
|
rack-mount (0.8.3)
|
61
61
|
rack (>= 1.0.0)
|
62
|
-
rack-ssl (1.3.
|
62
|
+
rack-ssl (1.3.3)
|
63
63
|
rack
|
64
64
|
rack-test (0.6.2)
|
65
65
|
rack (>= 1.0)
|
@@ -109,7 +109,7 @@ DEPENDENCIES
|
|
109
109
|
coffee-rails (~> 3.1.1)
|
110
110
|
jquery-rails
|
111
111
|
json
|
112
|
-
rails (
|
112
|
+
rails (~> 3.1.10)
|
113
113
|
sass-rails (~> 3.1.5)
|
114
114
|
sqlite3
|
115
115
|
uglifier (>= 1.0.3)
|