passenger 3.0.12 → 3.0.13

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 (48) hide show
  1. data/DEVELOPERS.TXT +1 -0
  2. data/NEWS +11 -0
  3. data/bin/passenger-install-nginx-module +1 -1
  4. data/build/basics.rb +0 -1
  5. data/build/documentation.rb +17 -8
  6. data/build/packaging.rb +2 -2
  7. data/doc/Architectural overview.html +987 -133
  8. data/doc/Architectural overview.idmap.txt +36 -0
  9. data/doc/Architectural overview.txt +150 -74
  10. data/doc/Security of user switching support.html +820 -54
  11. data/doc/Security of user switching support.idmap.txt +34 -0
  12. data/doc/Users guide Apache.html +1675 -633
  13. data/doc/Users guide Apache.idmap.txt +298 -0
  14. data/doc/Users guide Apache.txt +3 -11
  15. data/doc/Users guide Nginx.html +1462 -452
  16. data/doc/Users guide Nginx.idmap.txt +218 -0
  17. data/doc/Users guide Standalone.html +979 -44
  18. data/doc/Users guide Standalone.idmap.txt +18 -0
  19. data/doc/images/many_web_framework_protocols.png +0 -0
  20. data/doc/images/passenger_architecture.png +0 -0
  21. data/doc/images/passenger_architecture.svg +198 -215
  22. data/doc/images/rack.png +0 -0
  23. data/ext/boost/config/stdlib/libstdcpp3.hpp +2 -1
  24. data/ext/boost/exception/detail/error_info_impl.hpp +1 -1
  25. data/ext/common/AgentBase.cpp +15 -5
  26. data/ext/common/Constants.h +1 -1
  27. data/ext/common/EventedMessageServer.h +1 -1
  28. data/ext/common/StaticString.h +2 -1
  29. data/ext/common/Watchdog.cpp +2 -2
  30. data/ext/libev/config.h +122 -0
  31. data/ext/nginx/Configuration.c +24 -8
  32. data/ext/nginx/ContentHandler.c +5 -6
  33. data/lib/phusion_passenger.rb +2 -2
  34. data/lib/phusion_passenger/abstract_request_handler.rb +11 -8
  35. data/lib/phusion_passenger/dependencies.rb +12 -18
  36. data/lib/phusion_passenger/platform_info/compiler.rb +8 -2
  37. data/lib/phusion_passenger/platform_info/ruby.rb +3 -2
  38. data/lib/phusion_passenger/rails3_extensions/init.rb +6 -4
  39. data/lib/phusion_passenger/standalone/command.rb +10 -13
  40. data/lib/phusion_passenger/standalone/runtime_installer.rb +2 -2
  41. data/lib/phusion_passenger/standalone/start_command.rb +32 -16
  42. data/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb +1 -1
  43. data/lib/phusion_passenger/templates/standalone/config.erb +2 -1
  44. data/test/stub/wsgi/passenger_wsgi.pyc +0 -0
  45. metadata +21 -16
  46. data/doc/Users guide Apache with comments.html +0 -4830
  47. data/lib/phusion_passenger/platform_info/documentation_tools.rb +0 -35
  48. data/test/stub/rails_apps/3.0/empty/log/development.log +0 -3
@@ -0,0 +1,18 @@
1
+ ###### Autogenerated by Mizuho, DO NOT EDIT ######
2
+ # This file maps section names to IDs so that the commenting system knows which
3
+ # comments belong to which section. Section names may be changed at will but
4
+ # IDs always stay the same, allowing one to retain old comments even if you
5
+ # rename a section.
6
+ #
7
+ # This file is autogenerated but is not a cache; you MUST NOT DELETE this
8
+ # file and you must check it into your version control system. If you lose
9
+ # this file you may lose the ability to identity old comments.
10
+ #
11
+ # Entries marked with "fuzzy" indicate that the section title has changed
12
+ # and that Mizuho has found an ID which appears to be associated with that
13
+ # section. You should check whether it is correct, and if not, fix it.
14
+
15
+ 1. Installation => installation-2vrmef
16
+
17
+ 2. Usage => usage-1eyt33o
18
+
Binary file
@@ -1,23 +1,23 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
2
  <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
3
4
  <svg
4
5
  xmlns:dc="http://purl.org/dc/elements/1.1/"
5
- xmlns:cc="http://web.resource.org/cc/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
6
7
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
8
  xmlns:svg="http://www.w3.org/2000/svg"
8
9
  xmlns="http://www.w3.org/2000/svg"
9
10
  xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10
11
  xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11
- width="690"
12
- height="255"
12
+ width="673"
13
+ height="300"
13
14
  id="svg2"
14
15
  sodipodi:version="0.32"
15
- inkscape:version="0.45.1"
16
- sodipodi:docbase="/home/hongli/Projects/mod_rails/doc/images"
16
+ inkscape:version="0.48.2 r9819"
17
17
  sodipodi:docname="passenger_architecture.svg"
18
18
  inkscape:output_extension="org.inkscape.output.svg.inkscape"
19
19
  version="1.0"
20
- inkscape:export-filename="/home/hongli/Projects/mod_rails/doc/images/passenger_architecture.png"
20
+ inkscape:export-filename="/Users/hongli/Projects/passenger/doc/images/passenger_architecture.png"
21
21
  inkscape:export-xdpi="90"
22
22
  inkscape:export-ydpi="90">
23
23
  <defs
@@ -28,7 +28,8 @@
28
28
  width="1.0953077"
29
29
  y="-0.14720792"
30
30
  height="1.2944158"
31
- id="filter3347">
31
+ id="filter3347"
32
+ color-interpolation-filters="sRGB">
32
33
  <feGaussianBlur
33
34
  inkscape:collect="always"
34
35
  stdDeviation="6.195"
@@ -40,7 +41,8 @@
40
41
  width="1.1655581"
41
42
  y="-0.26366666"
42
43
  height="1.5273333"
43
- id="filter3525">
44
+ id="filter3525"
45
+ color-interpolation-filters="sRGB">
44
46
  <feGaussianBlur
45
47
  inkscape:collect="always"
46
48
  stdDeviation="6.6568168"
@@ -52,7 +54,8 @@
52
54
  width="1.1920769"
53
55
  y="-0.24508251"
54
56
  height="1.490165"
55
- id="filter3674">
57
+ id="filter3674"
58
+ color-interpolation-filters="sRGB">
56
59
  <feGaussianBlur
57
60
  inkscape:collect="always"
58
61
  stdDeviation="5.7001074"
@@ -70,16 +73,18 @@
70
73
  inkscape:pageopacity="1"
71
74
  inkscape:pageshadow="2"
72
75
  inkscape:zoom="1"
73
- inkscape:cx="368.19518"
74
- inkscape:cy="12.720779"
76
+ inkscape:cx="356.69124"
77
+ inkscape:cy="197.81434"
75
78
  inkscape:document-units="px"
76
79
  inkscape:current-layer="layer1"
77
- inkscape:window-width="1280"
78
- inkscape:window-height="702"
79
- inkscape:window-x="0"
80
- inkscape:window-y="72"
80
+ inkscape:window-width="1345"
81
+ inkscape:window-height="860"
82
+ inkscape:window-x="-1"
83
+ inkscape:window-y="0"
81
84
  height="255px"
82
- width="690px" />
85
+ width="690px"
86
+ showgrid="false"
87
+ inkscape:window-maximized="0" />
83
88
  <metadata
84
89
  id="metadata7">
85
90
  <rdf:RDF>
@@ -88,6 +93,7 @@
88
93
  <dc:format>image/svg+xml</dc:format>
89
94
  <dc:type
90
95
  rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
96
+ <dc:title></dc:title>
91
97
  </cc:Work>
92
98
  </rdf:RDF>
93
99
  </metadata>
@@ -95,109 +101,89 @@
95
101
  inkscape:label="Layer 1"
96
102
  inkscape:groupmode="layer"
97
103
  id="layer1"
98
- transform="translate(80.588234,-91.862183)">
104
+ transform="translate(80.588234,-46.862183)">
99
105
  <path
100
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
101
- d="M 343,161.36218 L 446,161.36218"
102
- id="path3521" />
106
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
107
+ d="m 185,160.86218 0,62"
108
+ id="path3252"
109
+ inkscape:connector-curvature="0" />
103
110
  <path
104
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
105
- d="M 186,208.86218 L 186,270.86218"
106
- id="path3252" />
107
- <path
108
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
109
- d="M 365.38655,271.36218 L 365.38655,238.86218 L 14,238.86218 L 14,270.36218"
110
- id="path3265" />
111
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
112
+ d="m 364.38655,223.36218 0,-32.5 -351.38655,0 0,31.5"
113
+ id="path3265"
114
+ inkscape:connector-curvature="0" />
111
115
  <g
112
116
  id="g3351"
113
- transform="translate(-73,14)">
117
+ transform="translate(-74,-34)">
114
118
  <rect
115
- transform="matrix(1.0224359,0,0,1.0224359,-8.445513,-3.2404977)"
119
+ transform="matrix(0.74039317,0,0,1.0224359,66.297144,-3.2404977)"
116
120
  ry="25"
117
- rx="25"
121
+ rx="34.523411"
118
122
  y="99.862183"
119
123
  x="109"
120
124
  height="101"
121
125
  width="312"
122
126
  id="rect3282"
123
- style="opacity:0.78500001;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3347)" />
127
+ style="opacity:0.78500001;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3347)" />
124
128
  <g
125
129
  transform="translate(0.5,1.5)"
126
130
  id="g3267">
127
131
  <rect
128
- style="fill:#98caff;fill-opacity:1;stroke:#4f90c9;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
132
+ style="fill:#98caff;fill-opacity:1;stroke:#4f90c9;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
129
133
  id="rect2160"
130
- width="312"
134
+ width="225"
131
135
  height="101"
132
- x="102"
136
+ x="146"
133
137
  y="92.362183"
134
- rx="25"
138
+ rx="25.000002"
135
139
  ry="25" />
136
140
  <text
137
141
  xml:space="preserve"
138
- style="font-size:25.89120865px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
139
- x="194.89148"
140
- y="129.91624"
142
+ style="font-size:25.89120865px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
143
+ x="257.86023"
144
+ y="116.91624"
141
145
  id="text2162"><tspan
142
146
  sodipodi:role="line"
143
147
  id="tspan2164"
144
- x="194.89148"
145
- y="129.91624"
146
- style="font-weight:bold">Apache</tspan></text>
148
+ x="257.86023"
149
+ y="116.91624"
150
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Sans;-inkscape-font-specification:Helvetica Bold">Apache/Nginx</tspan><tspan
151
+ sodipodi:role="line"
152
+ x="257.86023"
153
+ y="136.91623"
154
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Sans;-inkscape-font-specification:Helvetica Bold"
155
+ id="tspan3806">master process</tspan></text>
147
156
  <g
148
157
  id="g3162"
149
- transform="translate(131,-14)">
158
+ transform="translate(175,-14)">
150
159
  <rect
151
160
  ry="10"
152
- rx="10.546875"
161
+ rx="10"
153
162
  y="163.36218"
154
163
  x="-11"
155
164
  height="30"
156
- width="135"
165
+ width="193"
157
166
  id="rect3160"
158
- style="opacity:1;fill:#bbf6ff;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
167
+ style="fill:#bbf6ff;fill-opacity:1;stroke:none" />
159
168
  <text
160
169
  id="text2166"
161
- y="181.62328"
162
- x="1.8492519"
163
- style="font-size:13.65985012px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
170
+ y="182.62328"
171
+ x="3.8492508"
172
+ style="font-size:13.65985012px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
164
173
  xml:space="preserve"><tspan
165
- y="181.62328"
166
- x="1.8492519"
174
+ y="182.62328"
175
+ x="3.8492508"
167
176
  id="tspan2168"
168
- sodipodi:role="line">mod_passenger</tspan></text>
169
- </g>
170
- <g
171
- id="g3178"
172
- transform="translate(55,-1.5)">
173
- <rect
174
- ry="10"
175
- rx="10.546875"
176
- y="150.36218"
177
- x="209.5"
178
- height="30"
179
- width="135"
180
- id="rect3169"
181
- style="fill:#bbf6ff;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
182
- <text
183
- id="text3171"
184
- y="168.62328"
185
- x="222.34926"
186
- style="font-size:13.65985012px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
187
- xml:space="preserve"><tspan
188
- y="168.62328"
189
- x="222.34926"
190
- id="tspan3173"
191
- sodipodi:role="line">Application pool</tspan></text>
177
+ sodipodi:role="line">Phusion Passenger code</tspan></text>
192
178
  </g>
193
179
  </g>
194
180
  </g>
195
181
  <g
196
182
  id="g3529"
197
- transform="translate(50,14)">
183
+ transform="translate(33,-38)">
198
184
  <rect
199
185
  transform="matrix(0.9504893,0,0,0.9504893,23.279218,5.1572528)"
200
- style="opacity:0.76999996;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3525)"
186
+ style="opacity:0.76999996;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3525)"
201
187
  id="rect3523"
202
188
  width="193"
203
189
  height="60.593021"
@@ -209,7 +195,7 @@
209
195
  transform="translate(41,31)"
210
196
  id="g3516">
211
197
  <rect
212
- style="opacity:1;fill:#baf94d;fill-opacity:1;stroke:#8adf27;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
198
+ style="fill:#baf94d;fill-opacity:1;stroke:#8adf27;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
213
199
  id="rect3514"
214
200
  width="172"
215
201
  height="54"
@@ -219,183 +205,180 @@
219
205
  ry="20" />
220
206
  <text
221
207
  xml:space="preserve"
222
- style="font-size:19.99363899px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
223
- x="335.47308"
224
- y="121.29496"
208
+ style="font-size:19.99363899px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
209
+ x="337.47308"
210
+ y="122.29496"
225
211
  id="text2170"><tspan
226
212
  sodipodi:role="line"
227
213
  id="tspan2172"
228
- x="335.47308"
229
- y="121.29496">Spawn server</tspan></text>
214
+ x="337.47308"
215
+ y="122.29496">Helper agent</tspan></text>
230
216
  </g>
231
217
  </g>
232
218
  <g
233
219
  id="g3678"
234
- transform="translate(-0.363961,-0.4142136)">
220
+ transform="translate(-1.363961,-48.414214)">
235
221
  <rect
236
- transform="matrix(1.0223382,0,0,1.0223382,46.463881,-22.382629)"
237
- ry="15"
238
- rx="15"
222
+ transform="matrix(1.0341163,0,0,1.5994034,47.821744,-181.69881)"
223
+ ry="9.5879955"
224
+ rx="14.829157"
239
225
  y="289.76028"
240
226
  x="-101.60646"
241
227
  height="55.818989"
242
228
  width="142.44562"
243
229
  id="rect3608"
244
- style="opacity:0.72000002;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3674)" />
230
+ style="opacity:0.72000002;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3674)" />
245
231
  <rect
246
232
  ry="15"
247
- rx="15"
233
+ rx="14.999999"
248
234
  y="270.62689"
249
- x="-58.088234"
250
- height="55.818989"
235
+ x="-58.08823"
236
+ height="93.818993"
251
237
  width="142.44562"
252
238
  id="rect2182"
253
- style="fill:#ffe99b;fill-opacity:1;stroke:#ffb63e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
239
+ style="fill:#ffe99b;fill-opacity:1;stroke:#ffb63e;stroke-width:2.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
254
240
  <text
255
241
  id="text2178"
256
242
  y="293.17538"
257
- x="-45.983486"
258
- style="font-size:15.85331345px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
243
+ x="13.431603"
244
+ style="font-size:15.85331345px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
259
245
  xml:space="preserve"><tspan
260
246
  y="293.17538"
261
- x="-45.983486"
247
+ x="13.431602"
262
248
  id="tspan2180"
263
- sodipodi:role="line">Worker process</tspan></text>
264
- <g
265
- transform="translate(6.363961,4.596194)"
266
- id="g3603">
267
- <rect
268
- style="fill:#fffeda;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
269
- id="rect3554"
270
- width="85.5"
271
- height="19"
272
- x="-39.088226"
273
- y="295.86218"
274
- rx="6.6796875"
275
- ry="6.3333335" />
276
- <text
277
- xml:space="preserve"
278
- style="font-size:8.65123844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
279
- x="-28.829058"
280
- y="308.48822"
281
- id="text3556"><tspan
282
- sodipodi:role="line"
283
- id="tspan3558"
284
- x="-28.829058"
285
- y="308.48822">mod_passenger</tspan></text>
286
- </g>
287
- </g>
288
- <g
289
- id="g3688"
290
- transform="translate(172.67465,-0.5545786)">
249
+ sodipodi:role="line">Web server</tspan><tspan
250
+ y="312.99203"
251
+ x="13.431602"
252
+ sodipodi:role="line"
253
+ id="tspan3808">worker process</tspan></text>
291
254
  <rect
292
- transform="matrix(1.0223382,0,0,1.0223382,46.463881,-22.382629)"
293
- ry="15"
294
- rx="15"
295
- y="289.76028"
296
- x="-101.60646"
297
- height="55.818989"
298
- width="142.44562"
299
- id="rect3690"
300
- style="opacity:0.72000002;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3674)" />
255
+ ry="6.3333335"
256
+ rx="6.679687"
257
+ y="327.45837"
258
+ x="-47.724266"
259
+ height="25"
260
+ width="121.5"
261
+ id="rect3554"
262
+ style="fill:#fffeda;fill-opacity:1;stroke:none" />
263
+ <text
264
+ id="text3556"
265
+ y="343.08441"
266
+ x="-39.465096"
267
+ style="font-size:8.65123844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
268
+ xml:space="preserve"><tspan
269
+ y="343.08441"
270
+ x="-39.465096"
271
+ id="tspan3558"
272
+ sodipodi:role="line">Phusion Passenger code</tspan></text>
301
273
  <rect
302
- ry="15"
303
- rx="15"
304
- y="270.62689"
305
- x="-58.088234"
274
+ style="opacity:0.72000002;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3674)"
275
+ id="rect3829"
276
+ width="142.44562"
306
277
  height="55.818989"
278
+ x="-101.60646"
279
+ y="289.76028"
280
+ rx="14.829157"
281
+ ry="9.5879955"
282
+ transform="matrix(1.0341163,0,0,1.5994034,218.82174,-180.69881)" />
283
+ <rect
284
+ style="fill:#ffe99b;fill-opacity:1;stroke:#ffb63e;stroke-width:2.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
285
+ id="rect3831"
307
286
  width="142.44562"
308
- id="rect3692"
309
- style="fill:#ffe99b;fill-opacity:1;stroke:#ffb63e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
287
+ height="93.818993"
288
+ x="112.91177"
289
+ y="271.62689"
290
+ rx="14.999999"
291
+ ry="15" />
310
292
  <text
311
- id="text3694"
312
- y="293.17538"
313
- x="-45.983486"
314
- style="font-size:15.85331345px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
315
- xml:space="preserve"><tspan
316
- y="293.17538"
317
- x="-45.983486"
318
- id="tspan3696"
319
- sodipodi:role="line">Worker process</tspan></text>
320
- <g
321
- transform="translate(6.363961,4.596194)"
322
- id="g3698">
323
- <rect
324
- style="fill:#fffeda;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
325
- id="rect3700"
326
- width="85.5"
327
- height="19"
328
- x="-39.088226"
329
- y="295.86218"
330
- rx="6.6796875"
331
- ry="6.3333335" />
332
- <text
333
- xml:space="preserve"
334
- style="font-size:8.65123844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
335
- x="-28.829058"
336
- y="308.48822"
337
- id="text3702"><tspan
338
- sodipodi:role="line"
339
- id="tspan3704"
340
- x="-28.829058"
341
- y="308.48822">mod_passenger</tspan></text>
342
- </g>
343
- </g>
344
- <g
345
- id="g3706"
346
- transform="translate(352.09823,-0.6593946)">
293
+ xml:space="preserve"
294
+ style="font-size:15.85331345px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
295
+ x="184.43161"
296
+ y="294.17538"
297
+ id="text3833"><tspan
298
+ sodipodi:role="line"
299
+ id="tspan3835"
300
+ x="184.43161"
301
+ y="294.17538">Web server</tspan><tspan
302
+ id="tspan3837"
303
+ sodipodi:role="line"
304
+ x="184.43161"
305
+ y="313.99203">worker process</tspan></text>
347
306
  <rect
348
- transform="matrix(1.0223382,0,0,1.0223382,46.463881,-22.382629)"
349
- ry="15"
350
- rx="15"
307
+ style="fill:#fffeda;fill-opacity:1;stroke:none"
308
+ id="rect3839"
309
+ width="121.5"
310
+ height="25"
311
+ x="123.27573"
312
+ y="328.45837"
313
+ rx="6.679687"
314
+ ry="6.3333335" />
315
+ <text
316
+ xml:space="preserve"
317
+ style="font-size:8.65123844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
318
+ x="131.53491"
319
+ y="344.08441"
320
+ id="text3841"><tspan
321
+ sodipodi:role="line"
322
+ id="tspan3843"
323
+ x="131.53491"
324
+ y="344.08441">Phusion Passenger code</tspan></text>
325
+ <rect
326
+ transform="matrix(1.0341163,0,0,1.5994034,399.82174,-179.69881)"
327
+ ry="9.5879955"
328
+ rx="14.829157"
351
329
  y="289.76028"
352
330
  x="-101.60646"
353
331
  height="55.818989"
354
332
  width="142.44562"
355
- id="rect3708"
356
- style="opacity:0.72000002;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3674)" />
333
+ id="rect3845"
334
+ style="opacity:0.72000002;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3674)" />
357
335
  <rect
358
336
  ry="15"
359
- rx="15"
360
- y="270.62689"
361
- x="-58.088234"
362
- height="55.818989"
337
+ rx="14.999999"
338
+ y="272.62689"
339
+ x="293.91177"
340
+ height="93.818993"
363
341
  width="142.44562"
364
- id="rect3710"
365
- style="fill:#ffe99b;fill-opacity:1;stroke:#ffb63e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
342
+ id="rect3847"
343
+ style="fill:#ffe99b;fill-opacity:1;stroke:#ffb63e;stroke-width:2.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
366
344
  <text
367
- id="text3712"
368
- y="293.17538"
369
- x="-45.983486"
370
- style="font-size:15.85331345px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
345
+ id="text3849"
346
+ y="295.17538"
347
+ x="365.43161"
348
+ style="font-size:15.85331345px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
371
349
  xml:space="preserve"><tspan
372
- y="293.17538"
373
- x="-45.983486"
374
- id="tspan3714"
375
- sodipodi:role="line">Worker process</tspan></text>
376
- <g
377
- transform="translate(6.363961,4.596194)"
378
- id="g3716">
379
- <rect
380
- style="fill:#fffeda;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
381
- id="rect3718"
382
- width="85.5"
383
- height="19"
384
- x="-39.088226"
385
- y="295.86218"
386
- rx="6.6796875"
387
- ry="6.3333335" />
388
- <text
389
- xml:space="preserve"
390
- style="font-size:8.65123844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
391
- x="-28.829058"
392
- y="308.48822"
393
- id="text3720"><tspan
394
- sodipodi:role="line"
395
- id="tspan3722"
396
- x="-28.829058"
397
- y="308.48822">mod_passenger</tspan></text>
398
- </g>
350
+ y="295.17538"
351
+ x="365.43161"
352
+ id="tspan3851"
353
+ sodipodi:role="line">Web server</tspan><tspan
354
+ y="314.99203"
355
+ x="365.43161"
356
+ sodipodi:role="line"
357
+ id="tspan3853">worker process</tspan></text>
358
+ <rect
359
+ ry="6.3333335"
360
+ rx="6.679687"
361
+ y="329.45837"
362
+ x="304.27573"
363
+ height="25"
364
+ width="121.5"
365
+ id="rect3855"
366
+ style="fill:#fffeda;fill-opacity:1;stroke:none" />
367
+ <text
368
+ id="text3857"
369
+ y="345.08441"
370
+ x="312.53491"
371
+ style="font-size:8.65123844px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
372
+ xml:space="preserve"><tspan
373
+ y="345.08441"
374
+ x="312.53491"
375
+ id="tspan3859"
376
+ sodipodi:role="line">Phusion Passenger code</tspan></text>
399
377
  </g>
378
+ <path
379
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
380
+ d="m 364.41177,190.86218 110,0 0,-54"
381
+ id="path3861"
382
+ inkscape:connector-curvature="0" />
400
383
  </g>
401
384
  </svg>