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.
- checksums.yaml +4 -4
- data/CHANGELOG +18 -0
- data/Rakefile +20 -17
- data/bin/passenger-install-apache2-module +14 -11
- data/build/agent.rb +45 -18
- data/build/apache2.rb +32 -16
- data/build/basics.rb +29 -40
- data/build/common_library.rb +70 -54
- data/build/cxx_tests.rb +34 -43
- data/build/integration_tests.rb +10 -10
- data/build/misc.rb +6 -6
- data/build/node_tests.rb +1 -2
- data/build/oxt_tests.rb +7 -5
- data/build/packaging.rb +11 -441
- data/build/ruby_extension.rb +1 -1
- data/build/ruby_tests.rb +1 -2
- data/build/support/cplusplus.rb +6 -5
- data/build/support/cxx_dependency_map.rb +357 -833
- data/build/support/general.rb +23 -1
- data/build/test_basics.rb +3 -28
- data/dev/ci/tests/rpm/Jenkinsfile +68 -0
- data/dev/ci/tests/rpm/run +63 -0
- data/dev/ci/tests/source-packaging/run +1 -1
- data/dev/ci/tests/source-packaging/setup +1 -1
- data/doc/{Packaging.txt.md → Packaging.md} +0 -0
- data/resources/templates/apache2/deployment_example.txt.erb +2 -2
- data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +2 -2
- data/resources/templates/nginx/deployment_example.txt.erb +1 -1
- data/resources/templates/standalone/mass_deployment_default_server.erb +2 -2
- data/resources/templates/standalone/server.erb +2 -2
- data/src/agent/AgentMain.cpp +0 -4
- data/src/agent/Core/CoreMain.cpp +88 -5
- data/src/agent/Core/SpawningKit/Spawner.h +2 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1109 -0
- data/src/agent/Shared/Fundamentals/AbortHandler.h +63 -0
- data/src/agent/Shared/Fundamentals/Implementation.cpp +7 -0
- data/src/agent/Shared/Fundamentals/Initialization.cpp +614 -0
- data/src/agent/Shared/{Base.h → Fundamentals/Initialization.h} +23 -14
- data/src/agent/Shared/Fundamentals/Utils.cpp +127 -0
- data/src/agent/Shared/Fundamentals/Utils.h +46 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
- data/src/agent/Watchdog/CoreWatcher.cpp +3 -1
- data/src/agent/Watchdog/InstanceDirToucher.cpp +90 -53
- data/src/agent/Watchdog/WatchdogMain.cpp +13 -29
- data/src/apache2_module/Hooks.cpp +4 -1
- data/src/cxx_supportlib/ConfigKit/Store.h +32 -5
- data/src/cxx_supportlib/Constants.h +1 -2
- data/src/cxx_supportlib/Crypto.cpp +2 -1
- data/src/cxx_supportlib/Hooks.h +16 -37
- data/src/cxx_supportlib/LoggingKit/Context.h +22 -0
- data/src/cxx_supportlib/LoggingKit/Forward.h +1 -0
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +106 -22
- data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +106 -0
- data/src/{agent/UstRouter/FileSink.h → cxx_supportlib/ProcessManagement/Ruby.h} +23 -47
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +199 -0
- data/src/cxx_supportlib/ProcessManagement/Spawn.h +150 -0
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +459 -0
- data/src/cxx_supportlib/ProcessManagement/Utils.h +107 -0
- data/src/cxx_supportlib/Utils.cpp +41 -561
- data/src/cxx_supportlib/Utils.h +0 -68
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +187 -0
- data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +14 -2
- data/src/cxx_supportlib/WatchdogLauncher.h +2 -12
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +4 -0
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +16 -1
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +12 -9
- data/src/cxx_supportlib/vendor-modified/libev/ev++.h +4 -4
- data/src/cxx_supportlib/vendor-modified/libev/ev.h +3 -3
- data/src/nginx_module/CacheLocationConfig.c +0 -75
- data/src/nginx_module/CacheLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/Configuration.c +0 -1
- data/src/nginx_module/Configuration.h +0 -1
- data/src/nginx_module/ConfigurationCommands.c +1 -1
- data/src/nginx_module/ContentHandler.c +0 -1
- data/src/nginx_module/ContentHandler.h +0 -1
- data/src/nginx_module/CreateLocationConfig.c +0 -5
- data/src/nginx_module/CreateLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/LocationConfig.h +0 -4
- data/src/nginx_module/LocationConfig.h.cxxcodebuilder +2 -1
- data/src/nginx_module/MergeLocationConfig.c +0 -12
- data/src/nginx_module/MergeLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/ngx_http_passenger_module.h +0 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +20 -11
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +10 -3
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +32 -6
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +101 -20
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +21 -9
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +34 -31
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +2 -14
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +40 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +15 -14
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +8 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +19 -18
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +17 -1
- metadata +19 -97
- data/build/documentation.rb +0 -70
- data/doc/CloudLicensingConfiguration.html +0 -172
- data/doc/CloudLicensingConfiguration.txt.md +0 -3
- data/doc/Packaging.html +0 -488
- data/doc/Security of user switching support.idmap.txt +0 -34
- data/doc/Security of user switching support.txt +0 -197
- data/doc/ServerOptimizationGuide.html +0 -172
- data/doc/ServerOptimizationGuide.txt.md +0 -3
- data/doc/images/by_sa.png +0 -0
- data/doc/images/cloud_licensing_batch_job.png +0 -0
- data/doc/images/code_walkthrough.jpg +0 -0
- data/doc/images/direct_spawning.png +0 -0
- data/doc/images/direct_spawning.svg +0 -251
- data/doc/images/glyphicons-halflings-white.png +0 -0
- data/doc/images/glyphicons-halflings.png +0 -0
- data/doc/images/icons/README +0 -5
- data/doc/images/icons/callouts/1.png +0 -0
- data/doc/images/icons/callouts/10.png +0 -0
- data/doc/images/icons/callouts/11.png +0 -0
- data/doc/images/icons/callouts/12.png +0 -0
- data/doc/images/icons/callouts/13.png +0 -0
- data/doc/images/icons/callouts/14.png +0 -0
- data/doc/images/icons/callouts/15.png +0 -0
- data/doc/images/icons/callouts/2.png +0 -0
- data/doc/images/icons/callouts/3.png +0 -0
- data/doc/images/icons/callouts/4.png +0 -0
- data/doc/images/icons/callouts/5.png +0 -0
- data/doc/images/icons/callouts/6.png +0 -0
- data/doc/images/icons/callouts/7.png +0 -0
- data/doc/images/icons/callouts/8.png +0 -0
- data/doc/images/icons/callouts/9.png +0 -0
- data/doc/images/icons/caution.png +0 -0
- data/doc/images/icons/example.png +0 -0
- data/doc/images/icons/home.png +0 -0
- data/doc/images/icons/important.png +0 -0
- data/doc/images/icons/next.png +0 -0
- data/doc/images/icons/note.png +0 -0
- data/doc/images/icons/prev.png +0 -0
- data/doc/images/icons/tip.png +0 -0
- data/doc/images/icons/up.png +0 -0
- data/doc/images/icons/warning.png +0 -0
- data/doc/images/many_web_framework_protocols.png +0 -0
- data/doc/images/passenger_architecture.png +0 -0
- data/doc/images/passenger_architecture.svg +0 -385
- data/doc/images/passenger_architecture_overview.png +0 -0
- data/doc/images/passenger_core_architecture.png +0 -0
- data/doc/images/passenger_nodejs_architecture.svg +0 -558
- data/doc/images/phusion_banner.png +0 -0
- data/doc/images/rack.png +0 -0
- data/doc/images/smart_spawning.png +0 -0
- data/doc/images/smart_spawning.svg +0 -323
- data/doc/images/spawn_server_architecture.png +0 -0
- data/doc/images/spawn_server_architecture.svg +0 -655
- data/doc/images/spawning_preparation_work.png +0 -0
- data/doc/images/startup_sequence.png +0 -0
- data/doc/images/typical_isolated_web_application.png +0 -0
- data/doc/images/typical_isolated_web_application.svg +0 -213
- data/doc/users_guide_snippets/alternative_for_flying_passenger.txt +0 -1
- data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +0 -61
- data/doc/users_guide_snippets/appendix_a_about.txt +0 -13
- data/doc/users_guide_snippets/appendix_b_terminology.txt +0 -71
- data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +0 -36
- data/doc/users_guide_snippets/deployment_basics.txt +0 -37
- data/doc/users_guide_snippets/enterprise_only.txt +0 -1
- data/doc/users_guide_snippets/environment_variables.txt +0 -44
- data/doc/users_guide_snippets/global_queueing_explained.txt +0 -74
- data/doc/users_guide_snippets/installation.txt +0 -228
- data/doc/users_guide_snippets/installation/run_installer.txt +0 -58
- data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +0 -6
- data/doc/users_guide_snippets/passenger_spawn_method.txt +0 -37
- data/doc/users_guide_snippets/rackup_specifications.txt +0 -1
- data/doc/users_guide_snippets/rvm_helper_tool.txt +0 -44
- data/doc/users_guide_snippets/since_version.txt +0 -1
- data/doc/users_guide_snippets/support_information.txt +0 -8
- data/doc/users_guide_snippets/tips.txt +0 -302
- data/doc/users_guide_snippets/troubleshooting/default.txt +0 -48
- data/doc/users_guide_snippets/troubleshooting/rails.txt +0 -59
- data/doc/users_guide_snippets/under_the_hood/page_caching_support.txt +0 -24
- data/doc/users_guide_snippets/under_the_hood/relationship_with_ruby.txt +0 -10
- data/doc/users_guide_snippets/where_to_get_support.txt +0 -9
- data/src/agent/Shared/Base.cpp +0 -1678
- data/src/agent/UstRouter/ApiServer.h +0 -292
- data/src/agent/UstRouter/Client.h +0 -112
- data/src/agent/UstRouter/Controller.h +0 -1309
- data/src/agent/UstRouter/LogSink.h +0 -145
- data/src/agent/UstRouter/OptionParser.h +0 -180
- data/src/agent/UstRouter/RemoteSender.h +0 -853
- data/src/agent/UstRouter/RemoteSink.h +0 -145
- data/src/agent/UstRouter/Transaction.h +0 -278
- data/src/agent/UstRouter/UstRouterMain.cpp +0 -681
- data/src/agent/Watchdog/UstRouterWatcher.cpp +0 -80
- 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
|
-
************************************************
|