passenger 5.1.10 → 5.1.11

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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +18 -0
  3. data/Rakefile +20 -17
  4. data/bin/passenger-install-apache2-module +14 -11
  5. data/build/agent.rb +45 -18
  6. data/build/apache2.rb +32 -16
  7. data/build/basics.rb +29 -40
  8. data/build/common_library.rb +70 -54
  9. data/build/cxx_tests.rb +34 -43
  10. data/build/integration_tests.rb +10 -10
  11. data/build/misc.rb +6 -6
  12. data/build/node_tests.rb +1 -2
  13. data/build/oxt_tests.rb +7 -5
  14. data/build/packaging.rb +11 -441
  15. data/build/ruby_extension.rb +1 -1
  16. data/build/ruby_tests.rb +1 -2
  17. data/build/support/cplusplus.rb +6 -5
  18. data/build/support/cxx_dependency_map.rb +357 -833
  19. data/build/support/general.rb +23 -1
  20. data/build/test_basics.rb +3 -28
  21. data/dev/ci/tests/rpm/Jenkinsfile +68 -0
  22. data/dev/ci/tests/rpm/run +63 -0
  23. data/dev/ci/tests/source-packaging/run +1 -1
  24. data/dev/ci/tests/source-packaging/setup +1 -1
  25. data/doc/{Packaging.txt.md → Packaging.md} +0 -0
  26. data/resources/templates/apache2/deployment_example.txt.erb +2 -2
  27. data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +2 -2
  28. data/resources/templates/nginx/deployment_example.txt.erb +1 -1
  29. data/resources/templates/standalone/mass_deployment_default_server.erb +2 -2
  30. data/resources/templates/standalone/server.erb +2 -2
  31. data/src/agent/AgentMain.cpp +0 -4
  32. data/src/agent/Core/CoreMain.cpp +88 -5
  33. data/src/agent/Core/SpawningKit/Spawner.h +2 -1
  34. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1109 -0
  35. data/src/agent/Shared/Fundamentals/AbortHandler.h +63 -0
  36. data/src/agent/Shared/Fundamentals/Implementation.cpp +7 -0
  37. data/src/agent/Shared/Fundamentals/Initialization.cpp +614 -0
  38. data/src/agent/Shared/{Base.h → Fundamentals/Initialization.h} +23 -14
  39. data/src/agent/Shared/Fundamentals/Utils.cpp +127 -0
  40. data/src/agent/Shared/Fundamentals/Utils.h +46 -0
  41. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
  42. data/src/agent/Watchdog/CoreWatcher.cpp +3 -1
  43. data/src/agent/Watchdog/InstanceDirToucher.cpp +90 -53
  44. data/src/agent/Watchdog/WatchdogMain.cpp +13 -29
  45. data/src/apache2_module/Hooks.cpp +4 -1
  46. data/src/cxx_supportlib/ConfigKit/Store.h +32 -5
  47. data/src/cxx_supportlib/Constants.h +1 -2
  48. data/src/cxx_supportlib/Crypto.cpp +2 -1
  49. data/src/cxx_supportlib/Hooks.h +16 -37
  50. data/src/cxx_supportlib/LoggingKit/Context.h +22 -0
  51. data/src/cxx_supportlib/LoggingKit/Forward.h +1 -0
  52. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +106 -22
  53. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +106 -0
  54. data/src/{agent/UstRouter/FileSink.h → cxx_supportlib/ProcessManagement/Ruby.h} +23 -47
  55. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +199 -0
  56. data/src/cxx_supportlib/ProcessManagement/Spawn.h +150 -0
  57. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +459 -0
  58. data/src/cxx_supportlib/ProcessManagement/Utils.h +107 -0
  59. data/src/cxx_supportlib/Utils.cpp +41 -561
  60. data/src/cxx_supportlib/Utils.h +0 -68
  61. data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +187 -0
  62. data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +14 -2
  63. data/src/cxx_supportlib/WatchdogLauncher.h +2 -12
  64. data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +2 -2
  65. data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +4 -0
  66. data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +16 -1
  67. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +12 -9
  68. data/src/cxx_supportlib/vendor-modified/libev/ev++.h +4 -4
  69. data/src/cxx_supportlib/vendor-modified/libev/ev.h +3 -3
  70. data/src/nginx_module/CacheLocationConfig.c +0 -75
  71. data/src/nginx_module/CacheLocationConfig.c.cxxcodebuilder +1 -0
  72. data/src/nginx_module/Configuration.c +0 -1
  73. data/src/nginx_module/Configuration.h +0 -1
  74. data/src/nginx_module/ConfigurationCommands.c +1 -1
  75. data/src/nginx_module/ContentHandler.c +0 -1
  76. data/src/nginx_module/ContentHandler.h +0 -1
  77. data/src/nginx_module/CreateLocationConfig.c +0 -5
  78. data/src/nginx_module/CreateLocationConfig.c.cxxcodebuilder +1 -0
  79. data/src/nginx_module/LocationConfig.h +0 -4
  80. data/src/nginx_module/LocationConfig.h.cxxcodebuilder +2 -1
  81. data/src/nginx_module/MergeLocationConfig.c +0 -12
  82. data/src/nginx_module/MergeLocationConfig.c.cxxcodebuilder +1 -0
  83. data/src/nginx_module/ngx_http_passenger_module.h +0 -1
  84. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  85. data/src/ruby_supportlib/phusion_passenger/common_library.rb +20 -11
  86. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
  87. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +0 -1
  88. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +10 -3
  89. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -1
  90. data/src/ruby_supportlib/phusion_passenger/constants.rb +0 -1
  91. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
  92. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +32 -6
  93. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +0 -1
  94. data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -4
  95. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +101 -20
  96. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +21 -9
  97. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +34 -31
  98. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -1
  99. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +2 -14
  100. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +40 -3
  101. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +15 -14
  102. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
  103. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
  104. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +8 -3
  105. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +19 -18
  106. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -1
  107. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +17 -1
  108. metadata +19 -97
  109. data/build/documentation.rb +0 -70
  110. data/doc/CloudLicensingConfiguration.html +0 -172
  111. data/doc/CloudLicensingConfiguration.txt.md +0 -3
  112. data/doc/Packaging.html +0 -488
  113. data/doc/Security of user switching support.idmap.txt +0 -34
  114. data/doc/Security of user switching support.txt +0 -197
  115. data/doc/ServerOptimizationGuide.html +0 -172
  116. data/doc/ServerOptimizationGuide.txt.md +0 -3
  117. data/doc/images/by_sa.png +0 -0
  118. data/doc/images/cloud_licensing_batch_job.png +0 -0
  119. data/doc/images/code_walkthrough.jpg +0 -0
  120. data/doc/images/direct_spawning.png +0 -0
  121. data/doc/images/direct_spawning.svg +0 -251
  122. data/doc/images/glyphicons-halflings-white.png +0 -0
  123. data/doc/images/glyphicons-halflings.png +0 -0
  124. data/doc/images/icons/README +0 -5
  125. data/doc/images/icons/callouts/1.png +0 -0
  126. data/doc/images/icons/callouts/10.png +0 -0
  127. data/doc/images/icons/callouts/11.png +0 -0
  128. data/doc/images/icons/callouts/12.png +0 -0
  129. data/doc/images/icons/callouts/13.png +0 -0
  130. data/doc/images/icons/callouts/14.png +0 -0
  131. data/doc/images/icons/callouts/15.png +0 -0
  132. data/doc/images/icons/callouts/2.png +0 -0
  133. data/doc/images/icons/callouts/3.png +0 -0
  134. data/doc/images/icons/callouts/4.png +0 -0
  135. data/doc/images/icons/callouts/5.png +0 -0
  136. data/doc/images/icons/callouts/6.png +0 -0
  137. data/doc/images/icons/callouts/7.png +0 -0
  138. data/doc/images/icons/callouts/8.png +0 -0
  139. data/doc/images/icons/callouts/9.png +0 -0
  140. data/doc/images/icons/caution.png +0 -0
  141. data/doc/images/icons/example.png +0 -0
  142. data/doc/images/icons/home.png +0 -0
  143. data/doc/images/icons/important.png +0 -0
  144. data/doc/images/icons/next.png +0 -0
  145. data/doc/images/icons/note.png +0 -0
  146. data/doc/images/icons/prev.png +0 -0
  147. data/doc/images/icons/tip.png +0 -0
  148. data/doc/images/icons/up.png +0 -0
  149. data/doc/images/icons/warning.png +0 -0
  150. data/doc/images/many_web_framework_protocols.png +0 -0
  151. data/doc/images/passenger_architecture.png +0 -0
  152. data/doc/images/passenger_architecture.svg +0 -385
  153. data/doc/images/passenger_architecture_overview.png +0 -0
  154. data/doc/images/passenger_core_architecture.png +0 -0
  155. data/doc/images/passenger_nodejs_architecture.svg +0 -558
  156. data/doc/images/phusion_banner.png +0 -0
  157. data/doc/images/rack.png +0 -0
  158. data/doc/images/smart_spawning.png +0 -0
  159. data/doc/images/smart_spawning.svg +0 -323
  160. data/doc/images/spawn_server_architecture.png +0 -0
  161. data/doc/images/spawn_server_architecture.svg +0 -655
  162. data/doc/images/spawning_preparation_work.png +0 -0
  163. data/doc/images/startup_sequence.png +0 -0
  164. data/doc/images/typical_isolated_web_application.png +0 -0
  165. data/doc/images/typical_isolated_web_application.svg +0 -213
  166. data/doc/users_guide_snippets/alternative_for_flying_passenger.txt +0 -1
  167. data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +0 -61
  168. data/doc/users_guide_snippets/appendix_a_about.txt +0 -13
  169. data/doc/users_guide_snippets/appendix_b_terminology.txt +0 -71
  170. data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +0 -36
  171. data/doc/users_guide_snippets/deployment_basics.txt +0 -37
  172. data/doc/users_guide_snippets/enterprise_only.txt +0 -1
  173. data/doc/users_guide_snippets/environment_variables.txt +0 -44
  174. data/doc/users_guide_snippets/global_queueing_explained.txt +0 -74
  175. data/doc/users_guide_snippets/installation.txt +0 -228
  176. data/doc/users_guide_snippets/installation/run_installer.txt +0 -58
  177. data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +0 -6
  178. data/doc/users_guide_snippets/passenger_spawn_method.txt +0 -37
  179. data/doc/users_guide_snippets/rackup_specifications.txt +0 -1
  180. data/doc/users_guide_snippets/rvm_helper_tool.txt +0 -44
  181. data/doc/users_guide_snippets/since_version.txt +0 -1
  182. data/doc/users_guide_snippets/support_information.txt +0 -8
  183. data/doc/users_guide_snippets/tips.txt +0 -302
  184. data/doc/users_guide_snippets/troubleshooting/default.txt +0 -48
  185. data/doc/users_guide_snippets/troubleshooting/rails.txt +0 -59
  186. data/doc/users_guide_snippets/under_the_hood/page_caching_support.txt +0 -24
  187. data/doc/users_guide_snippets/under_the_hood/relationship_with_ruby.txt +0 -10
  188. data/doc/users_guide_snippets/where_to_get_support.txt +0 -9
  189. data/src/agent/Shared/Base.cpp +0 -1678
  190. data/src/agent/UstRouter/ApiServer.h +0 -292
  191. data/src/agent/UstRouter/Client.h +0 -112
  192. data/src/agent/UstRouter/Controller.h +0 -1309
  193. data/src/agent/UstRouter/LogSink.h +0 -145
  194. data/src/agent/UstRouter/OptionParser.h +0 -180
  195. data/src/agent/UstRouter/RemoteSender.h +0 -853
  196. data/src/agent/UstRouter/RemoteSink.h +0 -145
  197. data/src/agent/UstRouter/Transaction.h +0 -278
  198. data/src/agent/UstRouter/UstRouterMain.cpp +0 -681
  199. data/src/agent/Watchdog/UstRouterWatcher.cpp +0 -80
  200. data/src/ruby_supportlib/phusion_passenger/platform_info/macos.rb +0 -45
@@ -1,44 +0,0 @@
1
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html
2
-
3
- === Working with environment variables
4
-
5
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#working-with-environment-variables
6
-
7
- [[the_path_env_var]]
8
- === The PATH environment variable
9
-
10
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#the-path-environment-variable
11
-
12
- ==== Adding Phusion Passenger's administration tools to PATH
13
-
14
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#adding-passenger-s-administration-tools-to-path
15
-
16
- === Making environment variables permanent
17
-
18
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#making-environment-variables-permanent
19
-
20
- ==== bash
21
-
22
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#bash
23
-
24
- ==== Apache
25
-
26
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#apache
27
-
28
- ==== Nginx
29
-
30
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#nginx
31
-
32
- ==== cron
33
-
34
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#cron
35
-
36
- [[env_vars_passenger_apps]]
37
- ==== Phusion Passenger-served apps
38
-
39
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#passenger-served-apps
40
-
41
- [[env_vars_and_sudo]]
42
- === Environment variables and sudo
43
-
44
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/indepth/environment_variables.html#environment-variables-and-sudo
@@ -1,74 +0,0 @@
1
- .What does this option do?
2
-
3
- Recall that Phusion Passenger spawns multiple backend processes (e.g. multiple
4
- Ruby on Rails processes), each which processes HTTP requests serially. One of
5
- Phusion Passenger's jobs is to forward HTTP requests to a suitable backend
6
- process. A backend process may take an arbitrary amount of time to process a
7
- specific HTTP request. If the websites are (temporarily) under high load, and
8
- the backend processes cannot process the requests fast enough, then some
9
- requests may have to be queued.
10
-
11
- If global queuing is turned off, then Phusion Passenger will use 'fair load
12
- balancing'. This means that each backend process will have its own private
13
- queue. Phusion Passenger will forward an HTTP request to the backend process
14
- that has the least amount of requests in its queue.
15
-
16
- If global queuing is turned on, then Phusion Passenger will use a global queue
17
- that's shared between all backend processes. If an HTTP request comes in, and
18
- all the backend processes are still busy, then Phusion Passenger will wait until
19
- at least one backend process is done, and will then forward the request to that
20
- process.
21
-
22
- .When to turn on global queuing?
23
-
24
- You should turn on global queuing if one of your web applications may have
25
- long-running requests.
26
-
27
- For example suppose that:
28
-
29
- - global queuing is turned off.
30
- - we're currently in a state where all backend processes have 3 requests in
31
- their queue, except for a single backend process, which has 1 request in its
32
- queue.
33
-
34
- The situation looks like this:
35
-
36
- --------------------------------------------------
37
- Backend process A: [* ] (1 request in queue)
38
- Backend process B: [*** ] (3 requests in queue)
39
- Backend process C: [*** ] (3 requests in queue)
40
- Backend process D: [*** ] (3 requests in queue)
41
- --------------------------------------------------
42
-
43
- Each process is currently serving short-running requests.
44
-
45
- Phusion Passenger will forward the next request to backend process A. A will
46
- now have 2 items in its queue. We'll mark this new request with an X:
47
-
48
- --------------------------------------------------
49
- Backend process A: [*X ] (2 request in queue)
50
- Backend process B: [*** ] (3 requests in queue)
51
- Backend process C: [*** ] (3 requests in queue)
52
- Backend process D: [*** ] (3 requests in queue)
53
- --------------------------------------------------
54
-
55
- Assuming that B, C and D still aren't done with their current request, the next
56
- HTTP request - let's call this Y - will be forwarded to backend process A as
57
- well, because it has the least number of items in its queue:
58
-
59
- --------------------------------------------------
60
- Backend process A: [*XY ] (3 requests in queue)
61
- Backend process B: [*** ] (3 requests in queue)
62
- Backend process C: [*** ] (3 requests in queue)
63
- Backend process D: [*** ] (3 requests in queue)
64
- --------------------------------------------------
65
-
66
- But if request X happens to be a long-running request that needs 60 seconds to
67
- complete, then we'll have a problem. Y won't be processed for at least 60
68
- seconds. It would have been a better idea if Y was forward to processes B, C or
69
- D instead, because they only have short-living requests in their queues.
70
-
71
- This problem will be avoided entirely if you turn global queuing on. With global
72
- queuing, all backend processes will share the same queue. The first backend
73
- process that becomes available will take from the queue, and so this
74
- ``queuing-behind-long-running-request'' problem will never occur.
@@ -1,228 +0,0 @@
1
- === Synopsis
2
-
3
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/
4
-
5
-
6
- [[install_osx_homebrew]]
7
- === Installing or upgrading on Mac OS X with Homebrew
8
-
9
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/
10
-
11
-
12
- [[install_on_debian_ubuntu]]
13
- === Installing or upgrading on Debian or Ubuntu
14
-
15
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apt_repo/
16
-
17
- [[install_add_apt_repo]]
18
- ==== Adding our APT repository
19
-
20
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apt_repo/
21
-
22
- ==== Installing packages
23
-
24
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apt_repo/
25
-
26
- ifdef::nginx[]
27
- [[inserting_passenger_root_for_apt]]
28
- ==== Inserting `passenger_root` into nginx.conf
29
-
30
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/config/nginx/reference/#passenger_root
31
-
32
- endif::nginx[]
33
-
34
-
35
- [[installing_or_upgrading_on_red_hat]]
36
- === Installing or upgrading on Red Hat or CentOS
37
-
38
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/yum_repo/
39
-
40
- [[install_add_yum_repo]]
41
- ==== Adding our YUM repository
42
-
43
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/yum_repo/
44
-
45
- ==== Installing packages
46
-
47
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/yum_repo/
48
-
49
-
50
- === Installing or upgrading on Heroku
51
-
52
- Please refer to our link:https://github.com/phusion/passenger-ruby-heroku-demo#readme[Heroku Ruby demo] for installation and upgrade instructions for Heroku.
53
-
54
-
55
- [[rubygems_generic_install]]
56
- === Generic installation, upgrade and downgrade method: via RubyGems
57
-
58
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/
59
-
60
-
61
- [[tarball_generic_install]]
62
- === Generic installation, upgrade and downgrade method: via tarball
63
-
64
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/
65
-
66
-
67
- === Upgrading from open source to Enterprise
68
-
69
- ifdef::apache[]
70
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/upgrading_from_oss_to_enterprise.html
71
- endif::[]
72
- ifdef::nginx[]
73
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/upgrading_from_oss_to_enterprise.html
74
- endif::[]
75
- ifdef::standalone[]
76
- This documentation has moved. https://www.phusionpassenger.com/library/install/standalone/upgrading_from_oss_to_enterprise.html
77
- endif::[]
78
-
79
-
80
- === Cryptographic verification of installation files
81
-
82
- ==== Synopsis
83
-
84
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/crypto_verify_install.html
85
-
86
- ==== Importing the Phusion Software Signing key
87
-
88
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/crypto_verify_install.html
89
-
90
- ==== Verifying the Phusion Software Signing key
91
-
92
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/crypto_verify_install.html
93
-
94
- ==== Verifying the gem and tarball
95
-
96
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/crypto_verify_install.html
97
-
98
- ==== Verifying Git signatures
99
-
100
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/crypto_verify_install.html
101
-
102
- ==== Verifying Debian packages
103
-
104
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/crypto_verify_install.html
105
-
106
- ==== Verifying RPM packages
107
-
108
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/crypto_verify_install.html
109
-
110
- ==== Revocation
111
-
112
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/crypto_verify_install.html
113
-
114
-
115
- ifndef::standalone[]
116
- === Non-interactive, automatic, headless installs or upgrades
117
-
118
- ifdef::apache[]
119
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/noninteractive_install.html
120
- endif::[]
121
- ifdef::nginx[]
122
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/noninteractive_install.html
123
- endif::[]
124
- endif::[]
125
-
126
-
127
- === Customizing the compilation process
128
-
129
- ifdef::apache[]
130
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/customizing_compilation_process.html
131
- endif::[]
132
- ifdef::nginx[]
133
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/customizing_compilation_process.html
134
- endif::[]
135
-
136
- ==== Setting the compiler
137
-
138
- ifdef::apache[]
139
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/customizing_compilation_process.html
140
- endif::[]
141
- ifdef::nginx[]
142
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/customizing_compilation_process.html
143
- endif::[]
144
-
145
- ==== Adding additional compiler or linker flags
146
-
147
- ifdef::apache[]
148
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/customizing_compilation_process.html
149
- endif::[]
150
- ifdef::nginx[]
151
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/customizing_compilation_process.html
152
- endif::[]
153
-
154
- [[forcing_location_of_command_line_tools_and_dependencies]]
155
- ==== Forcing location of command line tools and dependencies
156
-
157
- ifdef::apache[]
158
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/customizing_compilation_process.html
159
- endif::[]
160
- ifdef::nginx[]
161
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/customizing_compilation_process.html
162
- endif::[]
163
-
164
-
165
- ifdef::apache[]
166
- [[multiple_apache_installs]]
167
- === Dealing with multiple Apache installations
168
-
169
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/multiple_apache_installs.html
170
-
171
- [[working_with_apache_conf]]
172
- === Working with the Apache configuration file
173
-
174
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/working_with_the_apache_config_file.html
175
- endif::[]
176
-
177
-
178
- ifdef::nginx[]
179
- === Installing as a normal Nginx module without using the installer
180
-
181
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/install_as_nginx_module.html
182
-
183
-
184
- [[nginx_init_script]]
185
- === Creating an Nginx init script
186
-
187
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/nginx_init_script.html
188
- endif::[]
189
-
190
-
191
- ifndef::standalone[]
192
- === Disabling without uninstalling
193
-
194
- ifdef::apache[]
195
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/disable.html
196
- endif::[]
197
- ifdef::nginx[]
198
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/disable.html
199
- endif::[]
200
- endif::[]
201
-
202
- [[uninstalling]]
203
- === Uninstalling
204
-
205
- ifdef::apache[]
206
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/uninstall/
207
- endif::[]
208
- ifdef::nginx[]
209
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/uninstall/
210
- endif::[]
211
- ifdef::standalone[]
212
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/standalone/uninstall/
213
- endif::[]
214
-
215
-
216
- [[moving_phusion_passenger]]
217
- === Moving to a different directory
218
-
219
-
220
- ifdef::apache[]
221
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/apache/moving.html
222
- endif::[]
223
- ifdef::nginx[]
224
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/nginx/moving.html
225
- endif::[]
226
- ifdef::standalone[]
227
- This documentation has moved. Please visit https://www.phusionpassenger.com/library/install/standalone/moving.html
228
- endif::[]
@@ -1,58 +0,0 @@
1
- ifdef::apache[]
2
- The Phusion Passenger gem only contains source files. In this step we will use the installer to compile the Phusion Passenger binaries, which include the various Phusion Passenger agent executables and the Apache module.
3
-
4
- Run the following command and follow the on-screen instructions.
5
-
6
- ifdef::gem[]
7
- ----------------------------------
8
- passenger-install-apache2-module
9
- ----------------------------------
10
- endif::[]
11
- ifdef::tarball[]
12
- ----------------------------------
13
- ./bin/passenger-install-apache2-module
14
- ----------------------------------
15
- endif::[]
16
-
17
- At the end of the installation process, you will be asked to copy and paste a configuration snippet (containing `LoadModule`, `PassengerRoot`, etc.) into your Apache configuration file. If you're upgrading, then you already had a similar configuration snippet. Be sure to remove the old one before pasting the new one.
18
-
19
- Different operating systems and Apache installations have different conventions with regard to where the Apache configuration file is and how it is organized. Please read <<working_with_apache_conf,Working with the Apache configuration file>> if you're not familiar with it. That section is especially of interest for OS X Server >= 10.8 users because the configuration file may not be at a surprising location.
20
-
21
- If compilation doesn't succeed, then please consult the <<troubleshooting,Troubleshooting>> section.
22
-
23
- .What does the installer do?
24
-
25
- Despite the name, this "installer" doesn't actually install anything. The installer checks whether all required dependencies are installed, invokes the compiler, and tells you how to modify the Apache
26
- configuration file. However, it doesn't copy any files to outside the Phusion Passenger source directory.
27
-
28
- `passenger-install-apache2-module` is actually just a user-friendly frontend around the command `rake apache2`, which performs the actual compilation of Phusion Passenger.
29
- endif::[]
30
- ifdef::nginx[]
31
- Nginx is a different from other web servers in that it does not support loadable modules. The only way to extend Nginx is to recompile it entirely from source. Since Phusion Passenger consists of some external executables plus an Nginx module, you must recompile Nginx when first installing Phusion Passenger, but also when upgrading Nginx itself or when upgrading the Phusion Passenger version.
32
-
33
- Recompiling Nginx and the Phusion Passenger executables is what we will do in this step. The good news is that Phusion Passenger provides a tool to make this easy for you.
34
-
35
- If you've already installed Nginx before, but without Phusion Passenger support, then you *should* uninstall it first. You don't have to, because you can also install another Nginx with Phusion Passenger support, in parallel to the existing Nginx. We merely recommend uninstalling the existing in order to avoid user confusion, but the choice is yours.
36
-
37
- If you had previously installed Nginx with Phusion Passenger support, and you are upgrading, then you don't have to uninstall your existing Nginx first. Instead we'll overwrite it this step. But it is important that you recompile Nginx with the configure parameters that you used last time.
38
-
39
- Here's how you can uninstall the original Nginx:
40
-
41
- - If you installed the existing Nginx through APT, run: `sudo apt-get remove nginx nginx-full nginx-light nginx-naxsi nginx-common`
42
- - If you installed the existing Nginx through YUM, run `yum remove nginx` as root.
43
-
44
- To proceed with installing or upgrading Phusion Passenger, run the Phusion Passenger Nginx installer and follow the on-screen instructions:
45
-
46
- ifdef::gem[]
47
- ----------------------------------
48
- passenger-install-nginx-module
49
- ----------------------------------
50
- endif::[]
51
- ifdef::tarball[]
52
- ----------------------------------
53
- ./bin/passenger-install-nginx-module
54
- ----------------------------------
55
- endif::[]
56
-
57
- At some point it will ask you which prefix to install Nginx to. If you're upgrading, then specify the same prefix that you used last time, as well as the same configuration parameters that you used last time.
58
- endif::[]
@@ -1,6 +0,0 @@
1
- You should see the web server processes as well as a number of Phusion Passenger processes (e.g. PassengerAgent watchdog, PassengerAgent core). Congratulations, Phusion Passenger is now installed and running!
2
- ifdef::nginx[]
3
- At this point you may be interested in <<nginx_init_script,creating an Nginx init script>>.
4
- endif::[]
5
-
6
- If the output is not as expected, then please refer to the <<troubleshooting,Troubleshooting>> section.
@@ -1,37 +0,0 @@
1
- Internally, Phusion Passenger spawns multiple Ruby application processes in order to handle
2
- requests. But there are multiple ways with which processes can be spawned, each having
3
- its own set of pros and cons. Supported spawn methods are:
4
-
5
- 'smart'::
6
- This spawning method caches code using the app preloader. Framework code is not
7
- cached between multiple applications, although it is cached within
8
- instances of the same application. Please read
9
- <<spawning_methods_explained,Spawning methods explained>> for a more detailed
10
- explanation of what smart spawning exactly does.
11
- +
12
- *Pros:*
13
- Smart spawning caches code where possible to speed up the respawn process
14
- and is compatible with most applications
15
- +
16
- *Cons:*
17
- It is possible that it may be incompatible with some applications
18
-
19
- 'direct'::
20
- This spawning method is similar to the one used in Mongrel Cluster. It does not
21
- perform any code caching at all. Please read
22
- <<spawning_methods_explained,Spawning methods explained>> for a more detailed
23
- explanation of what direct spawning exactly does.
24
- +
25
- *Pros:*
26
- Direct spawning is guaranteed to be compatible with all applications
27
- and libraries.
28
- +
29
- *Cons:*
30
- Much slower than smart spawning. Every spawn action will be equally slow, though no slower than
31
- the startup time of a single server in Mongrel Cluster. Direct spawning will also
32
- render <<reducing_memory_usage,Ruby Enterprise Edition's memory reduction technology>> useless.
33
-
34
- ************************************************
35
- As of Phusion Passenger 4.0, 'conservative' spawning was renamed to 'direct' and 'smart-lv2' was renamed
36
- to 'smart'. The old 'smart' spawning has been removed in favor of the new version.
37
- ************************************************