passenger 4.0.24 → 4.0.25
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/INSTALL.md +2 -2
- data/NEWS +12 -0
- data/README.md +14 -6
- data/build/packaging.rb +3 -1
- data/doc/Users guide Apache.idmap.txt +19 -17
- data/doc/Users guide Apache.txt +146 -95
- data/doc/Users guide Nginx.txt +6 -6
- data/doc/Users guide Standalone.idmap.txt +19 -15
- data/doc/Users guide Standalone.txt +26 -1
- data/doc/Users guide.txt +9 -0
- data/doc/images/passenger_nodejs_architecture.svg +558 -0
- data/doc/users_guide_snippets/installation.txt +19 -16
- data/ext/common/AgentsStarter.h +1 -11
- data/ext/common/ApplicationPool2/AppTypes.cpp +5 -0
- data/ext/common/ApplicationPool2/AppTypes.h +1 -0
- data/ext/common/ApplicationPool2/Options.h +8 -4
- data/ext/common/ApplicationPool2/Spawner.h +1 -0
- data/ext/common/Constants.h +2 -2
- data/ext/common/ServerInstanceDir.h +9 -24
- data/ext/common/agents/HelperAgent/RequestHandler.h +1 -0
- data/ext/nginx/CacheLocationConfig.c +40 -0
- data/ext/nginx/ConfigurationCommands.c +30 -0
- data/ext/nginx/ConfigurationFields.h +6 -0
- data/ext/nginx/ContentHandler.c +40 -32
- data/ext/nginx/CreateLocationConfig.c +15 -0
- data/ext/nginx/MergeLocationConfig.c +18 -0
- data/helper-scripts/node-loader.js +2 -1
- data/lib/phusion_passenger.rb +3 -3
- data/lib/phusion_passenger/constants.rb +1 -1
- data/lib/phusion_passenger/nginx/config_options.rb +13 -0
- data/lib/phusion_passenger/standalone/start_command.rb +19 -2
- data/lib/phusion_passenger/utils/tmpdir.rb +0 -1
- data/resources/templates/standalone/config.erb +8 -1
- data/test/integration_tests/native_packaging_spec.rb +14 -4
- metadata +3 -2
- metadata.gz.asc +7 -7
@@ -177,3 +177,21 @@
|
|
177
177
|
NGX_CONF_UNSET);
|
178
178
|
|
179
179
|
|
180
|
+
|
181
|
+
ngx_conf_merge_str_value(conf->restart_dir,
|
182
|
+
prev->restart_dir,
|
183
|
+
NULL);
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
ngx_conf_merge_str_value(conf->app_type,
|
188
|
+
prev->app_type,
|
189
|
+
NULL);
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
ngx_conf_merge_str_value(conf->startup_file,
|
194
|
+
prev->startup_file,
|
195
|
+
NULL);
|
196
|
+
|
197
|
+
|
@@ -112,7 +112,8 @@ function configure(_options) {
|
|
112
112
|
}
|
113
113
|
|
114
114
|
function loadApplication() {
|
115
|
-
|
115
|
+
var startupFile = PhusionPassenger.options.startup_file || 'app.js';
|
116
|
+
require(PhusionPassenger.options.app_root + '/' + startupFile);
|
116
117
|
}
|
117
118
|
|
118
119
|
function extractCallback(args) {
|
data/lib/phusion_passenger.rb
CHANGED
@@ -30,10 +30,10 @@ module PhusionPassenger
|
|
30
30
|
|
31
31
|
PACKAGE_NAME = 'passenger'
|
32
32
|
# Run 'rake ext/common/Constants.h' after changing this number.
|
33
|
-
VERSION_STRING = '4.0.
|
33
|
+
VERSION_STRING = '4.0.25'
|
34
34
|
|
35
|
-
PREFERRED_NGINX_VERSION = '1.4.
|
36
|
-
NGINX_SHA256_CHECKSUM = '
|
35
|
+
PREFERRED_NGINX_VERSION = '1.4.4'
|
36
|
+
NGINX_SHA256_CHECKSUM = '7c989a58e5408c9593da0bebcd0e4ffc3d892d1316ba5042ddb0be5b0b4102b9'
|
37
37
|
|
38
38
|
PREFERRED_PCRE_VERSION = '8.32'
|
39
39
|
PCRE_SHA256_CHECKSUM = 'd5d8634b36baf3d08be442a627001099583b397f456bc795304a013383b6423a'
|
@@ -64,7 +64,7 @@ module PhusionPassenger
|
|
64
64
|
PASSENGER_VERSION = PhusionPassenger::VERSION_STRING
|
65
65
|
SERVER_INSTANCE_DIR_STRUCTURE_MAJOR_VERSION = 1
|
66
66
|
SERVER_INSTANCE_DIR_STRUCTURE_MINOR_VERSION = 0
|
67
|
-
SERVER_INSTANCE_DIR_GENERATION_STRUCTURE_MAJOR_VERSION =
|
67
|
+
SERVER_INSTANCE_DIR_GENERATION_STRUCTURE_MAJOR_VERSION = 3
|
68
68
|
SERVER_INSTANCE_DIR_GENERATION_STRUCTURE_MINOR_VERSION = 0
|
69
69
|
|
70
70
|
# Misc
|
@@ -250,6 +250,19 @@ LOCATION_CONFIGURATION_OPTIONS = [
|
|
250
250
|
:name => 'passenger_request_queue_overflow_status_code',
|
251
251
|
:type => :integer
|
252
252
|
},
|
253
|
+
{
|
254
|
+
:name => 'passenger_restart_dir',
|
255
|
+
:type => :string
|
256
|
+
},
|
257
|
+
{
|
258
|
+
:name => 'passenger_app_type',
|
259
|
+
:type => :string,
|
260
|
+
:header => nil
|
261
|
+
},
|
262
|
+
{
|
263
|
+
:name => 'passenger_startup_file',
|
264
|
+
:type => :string
|
265
|
+
},
|
253
266
|
|
254
267
|
###### Enterprise features ######
|
255
268
|
{
|
@@ -146,8 +146,17 @@ private
|
|
146
146
|
@options[:environment] = value
|
147
147
|
end
|
148
148
|
opts.on("-R", "--rackup FILE", String,
|
149
|
-
wrap_desc("
|
150
|
-
|
149
|
+
wrap_desc("Consider application a Ruby Rack app, and use the given rackup file")) do |value|
|
150
|
+
@options[:app_type] = "rack"
|
151
|
+
@options[:startup_file] = value
|
152
|
+
end
|
153
|
+
opts.on("--app-type NAME", String,
|
154
|
+
wrap_desc("Force app to be detected as the given type")) do |value|
|
155
|
+
@options[:app_type] = value
|
156
|
+
end
|
157
|
+
opts.on("--startup-file FILENAME", String,
|
158
|
+
wrap_desc("Force given startup file to be used")) do |value|
|
159
|
+
@options[:startup_file] = value
|
151
160
|
end
|
152
161
|
opts.on("--max-pool-size NUMBER", Integer,
|
153
162
|
wrap_desc("Maximum number of application processes (default: #{@options[:max_pool_size]})")) do |value|
|
@@ -193,6 +202,14 @@ private
|
|
193
202
|
wrap_desc("Specify the SSL key path")) do |val|
|
194
203
|
@options[:ssl_certificate_key] = File.expand_path(val)
|
195
204
|
end
|
205
|
+
opts.on("--static-files-dir PATH", String,
|
206
|
+
wrap_desc("Specify the static files dir")) do |val|
|
207
|
+
@options[:static_files_dir] = File.expand_path(val)
|
208
|
+
end
|
209
|
+
opts.on("--restart-dir PATH", String,
|
210
|
+
wrap_desc("Specify the restart dir")) do |val|
|
211
|
+
@options[:restart_dir] = File.expand_path(val)
|
212
|
+
end
|
196
213
|
opts.on("--union-station-gateway HOST:PORT", String,
|
197
214
|
wrap_desc("Specify Union Station Gateway host and port")) do |value|
|
198
215
|
host, port = value.split(":", 2)
|
@@ -57,7 +57,6 @@ protected
|
|
57
57
|
system("mkdir", "-p", "-m", "u=rwxs,g=rwx,o=rwx", dir)
|
58
58
|
system("mkdir", "-p", "-m", "u=rwxs,g=rwx,o=rwx", "#{dir}/generation-0")
|
59
59
|
system("mkdir", "-p", "-m", "u=rwxs,g=rwx,o=rwx", "#{dir}/backends")
|
60
|
-
system("mkdir", "-p", "-m", "u=rwxs,g=rwx,o=rwx", "#{dir}/spawn-server")
|
61
60
|
end
|
62
61
|
return dir
|
63
62
|
end
|
@@ -89,14 +89,21 @@ http {
|
|
89
89
|
server {
|
90
90
|
listen <%= nginx_listen_address(app) %> <%= "ssl" if app[:ssl] %>;
|
91
91
|
server_name <%= app[:server_names].join(' ') %>;
|
92
|
-
|
92
|
+
<% if app[:static_files_dir] %>
|
93
|
+
root '<%= app[:static_files_dir] %>';
|
94
|
+
<% else %>
|
95
|
+
root '<%= app[:root] %>/public';
|
96
|
+
<% end %>
|
93
97
|
passenger_app_root '<%= app[:root] %>';
|
94
98
|
passenger_enabled on;
|
95
99
|
passenger_app_env <%= app[:environment] %>;
|
96
100
|
passenger_spawn_method <%= app[:spawn_method] %>;
|
101
|
+
<% if app[:app_type] %>passenger_app_type <%= app[:app_type] %>;<% end %>
|
102
|
+
<% if app[:startup_file] %>passenger_startup_file <%= app[:startup_file] %>;<% end %>
|
97
103
|
<% if app[:concurrency_model] != DEFAULT_CONCURRENCY_MODEL %>passenger_concurrency_model <%= app[:concurrency_model] %>;<% end %>
|
98
104
|
<% if app[:thread_count] != DEFAULT_THREAD_COUNT %>passenger_thread_count <%= app[:thread_count] %>;<% end %>
|
99
105
|
<% if app[:min_instances] %>passenger_min_instances <%= app[:min_instances] %>;<% end %>
|
106
|
+
<% if app[:restart_dir] %>passenger_restart_dir '<%= app[:restart_dir] %>';<% end %>
|
100
107
|
<% if app[:union_station_key] %>
|
101
108
|
union_station_support on;
|
102
109
|
union_station_key <%= app[:union_station_key] %>;
|
@@ -80,10 +80,6 @@ describe "A natively packaged Phusion Passenger" do
|
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
|
-
specify "passenger-install-nginx-module is in #{BINDIR}" do
|
84
|
-
which("passenger-install-nginx-module").should == "#{BINDIR}/passenger-install-nginx-module"
|
85
|
-
end
|
86
|
-
|
87
83
|
specify "passenger-status is in #{SBINDIR}" do
|
88
84
|
which("passenger-status").should == "#{SBINDIR}/passenger-status"
|
89
85
|
end
|
@@ -209,6 +205,20 @@ describe "A natively packaged Phusion Passenger" do
|
|
209
205
|
end
|
210
206
|
end
|
211
207
|
|
208
|
+
describe "passenger-install-nginx-module" do
|
209
|
+
it "is in #{BINDIR}" do
|
210
|
+
which("passenger-install-nginx-module").should == "#{BINDIR}/passenger-install-nginx-module"
|
211
|
+
end
|
212
|
+
|
213
|
+
it "is able to compile Nginx" do
|
214
|
+
Dir.mktmpdir do |path|
|
215
|
+
output = capture_output("passenger-install-nginx-module --auto --prefix=#{path} --auto-download 2>&1")
|
216
|
+
output.should include("passenger_root #{LOCATIONS_INI};")
|
217
|
+
File.exist?("#{path}/sbin/nginx").should be_true
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
212
222
|
describe "Passenger Standalone" do
|
213
223
|
it "is in #{BINDIR}" do
|
214
224
|
which("passenger").should == "#{BINDIR}/passenger"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: passenger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.25
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -222,6 +222,7 @@ files:
|
|
222
222
|
- doc/images/many_web_framework_protocols.png
|
223
223
|
- doc/images/passenger_architecture.png
|
224
224
|
- doc/images/passenger_architecture.svg
|
225
|
+
- doc/images/passenger_nodejs_architecture.svg
|
225
226
|
- doc/images/phusion_banner.png
|
226
227
|
- doc/images/phusion_banner_small.png
|
227
228
|
- doc/images/rack.png
|
metadata.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
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
=
|
5
|
+
iQEcBAABAgAGBQJSi8RJAAoJECrHRaUKISqMj44IAKnWeRi84E9hLRSt9NRodG7p
|
6
|
+
GURP17hpIVDD3A7tXLvO6wQD1gIeTvcrY1GbEdFlnFqZxSln0w9tOZUyQ1b1UcNf
|
7
|
+
cUYWgKTgLGN4HxwYH4NM+eMytsAaIyrtmSLfSwp6y/QpQkcK+iZtjhA+VxcKY8uv
|
8
|
+
G220agtA4Bxiuu02C7/uIsK+J+byw0s1xXbwe+KWzGj+5vePFL2tnkQBTDoYImgU
|
9
|
+
6johpD5HedqdiwS6ncf9fKd9ZZNWmUct7IK7agdbXwVY8TTqkeAe3A0oxBaiSwJj
|
10
|
+
u0qC91C8Oip2K35IknG18UxrO8hgJ7In2KUqkJaoIUajXM8xBlRQI3rsSt4iIZU=
|
11
|
+
=nCXi
|
12
12
|
-----END PGP SIGNATURE-----
|