Module PhusionPassenger
In: lib/phusion_passenger.rb
lib/phusion_passenger/rack/application_spawner.rb
lib/phusion_passenger/rack/request_handler.rb
lib/phusion_passenger/html_template.rb
lib/phusion_passenger/utils/unseekable_socket.rb
lib/phusion_passenger/utils/tmpdir.rb
lib/phusion_passenger/utils/rewindable_input.rb
lib/phusion_passenger/utils/file_system_watcher.rb
lib/phusion_passenger/utils/hosts_file_parser.rb
lib/phusion_passenger/abstract_server_collection.rb
lib/phusion_passenger/abstract_server.rb
lib/phusion_passenger/native_support.rb
lib/phusion_passenger/platform_info/linux.rb
lib/phusion_passenger/platform_info/apache.rb
lib/phusion_passenger/platform_info/compiler.rb
lib/phusion_passenger/platform_info/zlib.rb
lib/phusion_passenger/platform_info/ruby.rb
lib/phusion_passenger/platform_info/operating_system.rb
lib/phusion_passenger/platform_info/curl.rb
lib/phusion_passenger/platform_info/binary_compatibility.rb
lib/phusion_passenger/platform_info.rb
lib/phusion_passenger/console_text_template.rb
lib/phusion_passenger/classic_rails_extensions/init.rb
lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_rescue_extension.rb
lib/phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension.rb
lib/phusion_passenger/classic_rails_extensions/analytics_logging/ar_abstract_adapter_extension.rb
lib/phusion_passenger/classic_rails_extensions/analytics_logging/av_benchmark_helper_extension.rb
lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_benchmarking_extension.rb
lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_base_extension.rb
lib/phusion_passenger/analytics_logger.rb
lib/phusion_passenger/debug_logging.rb
lib/phusion_passenger/admin_tools.rb
lib/phusion_passenger/app_process.rb
lib/phusion_passenger/classic_rails/cgi_fixed.rb
lib/phusion_passenger/classic_rails/framework_spawner.rb
lib/phusion_passenger/classic_rails/application_spawner.rb
lib/phusion_passenger/classic_rails/request_handler.rb
lib/phusion_passenger/spawn_manager.rb
lib/phusion_passenger/packaging.rb
lib/phusion_passenger/wsgi/application_spawner.rb
lib/phusion_passenger/message_client.rb
lib/phusion_passenger/utils.rb
lib/phusion_passenger/exceptions.rb
lib/phusion_passenger/public_api.rb
lib/phusion_passenger/constants.rb
lib/phusion_passenger/abstract_request_handler.rb
lib/phusion_passenger/dependencies.rb
lib/phusion_passenger/plugin.rb
lib/phusion_passenger/admin_tools/server_instance.rb
lib/phusion_passenger/admin_tools/memory_stats.rb
lib/phusion_passenger/abstract_installer.rb
lib/phusion_passenger/rails3_extensions/init.rb
lib/phusion_passenger/message_channel.rb
lib/phusion_passenger/standalone/runtime_installer.rb
lib/phusion_passenger/standalone/package_runtime_command.rb
lib/phusion_passenger/standalone/help_command.rb
lib/phusion_passenger/standalone/command.rb
lib/phusion_passenger/standalone/stop_command.rb
lib/phusion_passenger/standalone/app_finder.rb
lib/phusion_passenger/standalone/config_file.rb
lib/phusion_passenger/standalone/status_command.rb
lib/phusion_passenger/standalone/utils.rb
lib/phusion_passenger/standalone/start_command.rb
lib/phusion_passenger/standalone/main.rb
lib/phusion_passenger/standalone/version_command.rb

We lazy load as many libraries as possible not only to improve startup performance, but also to ensure that we don‘t require libraries before we‘ve passed the dependency checking stage of the runtime installer.

IMPORTANT: do not directly or indirectly require native_support; we can‘t compile it yet until we have a compiler, and the runtime installer is supposed to check whether a compiler is installed.

Methods

Classes and Modules

Module PhusionPassenger::AdminTools
Module PhusionPassenger::ClassicRails
Module PhusionPassenger::ClassicRailsExtensions
Module PhusionPassenger::DebugLogging
Module PhusionPassenger::Packaging
Module PhusionPassenger::PlatformInfo
Module PhusionPassenger::Rack
Module PhusionPassenger::Rails3Extensions
Module PhusionPassenger::Standalone
Module PhusionPassenger::Utils
Module PhusionPassenger::WSGI
Class PhusionPassenger::AbstractInstaller
Class PhusionPassenger::AbstractRequestHandler
Class PhusionPassenger::AbstractServer
Class PhusionPassenger::AbstractServerCollection
Class PhusionPassenger::AnalyticsLogger
Class PhusionPassenger::AppInitError
Class PhusionPassenger::AppProcess
Class PhusionPassenger::ConsoleTextTemplate
Class PhusionPassenger::FrameworkInitError
Class PhusionPassenger::HTMLTemplate
Class PhusionPassenger::InitializationError
Class PhusionPassenger::InvalidPath
Class PhusionPassenger::MessageChannel
Class PhusionPassenger::MessageClient
Class PhusionPassenger::NativeSupportLoader
Class PhusionPassenger::Plugin
Class PhusionPassenger::SpawnManager
Class PhusionPassenger::UnknownError
Class PhusionPassenger::VersionNotFound

Constants

VERSION_STRING = '3.0.17'   Phusion Passenger version number. Don‘t forget to edit ext/common/Constants.h too.
PREFERRED_NGINX_VERSION = '1.2.3'
PREFERRED_PCRE_VERSION = '8.31'
STANDALONE_INTERFACE_VERSION = 1
NATIVELY_PACKAGED_SOURCE_ROOT = "/usr/share/phusion-passenger/source"
NATIVELY_PACKAGED_DOCDIR = "/usr/share/doc/phusion-passenger"
NATIVELY_PACKAGED_RESOURCES_DIR = "/usr/share/phusion-passenger"
NATIVELY_PACKAGED_AGENTS_DIR = "/usr/lib/phusion-passenger/agents"
NATIVELY_PACKAGED_HELPER_SCRIPTS_DIR = "/usr/share/phusion-passenger/helper-scripts"
NATIVELY_PACKAGED_APACHE2_MODULE = "/usr/lib/apache2/modules/mod_passenger.so"
LIBDIR = File.expand_path(File.dirname(__FILE__))   Directory containing the Phusion Passenger Ruby libraries.
TEMPLATES_DIR = File.join(LIBDIR, "phusion_passenger", "templates")   Directory containing templates.
LOCAL_DIR = ".passenger"   Subdirectory under $HOME to use for storing resource files.
PLUGIN_DIRS = ["/usr/share/phusion-passenger/plugins", "/usr/local/share/phusion-passenger/plugins", "~/#{LOCAL_DIR}/plugins"]   Directories in which to look for plugins.
LOCAL_STANDALONE_RESOURCE_DIR = File.join(LOCAL_DIR, "standalone")   Directory under $HOME for storing Phusion Passenger Standalone resource files.
GLOBAL_STANDALONE_RESOURCE_DIR = "/var/lib/passenger-standalone"   System-wide directory for storing Phusion Passenger Standalone resource files.
SOURCE_ROOT = File.expand_path(File.join(LIBDIR, ".."))   Top directory of the Phusion Passenger source code.
DOCDIR = File.join(SOURCE_ROOT, "doc")   Documentation directory.
RESOURCES_DIR = File.join(SOURCE_ROOT, "resources")   Directory containing Phusion Passenger resource files.
AGENTS_DIR = File.join(SOURCE_ROOT, "agents")
HELPER_SCRIPTS_DIR = File.join(SOURCE_ROOT, "helper-scripts")
APACHE2_MODULE = File.join(SOURCE_ROOT, "ext", "apache2", "mod_passenger.so")   Location of the Apache 2 module.
NATIVE_SUPPORT_DIR = File.join(SOURCE_ROOT, "ext", "ruby")   Directory possibly containing #{archdir}/passenger_native_support.so. Not available when natively packaged.
SOURCE_ROOT = NATIVELY_PACKAGED_SOURCE_ROOT
DOCDIR = NATIVELY_PACKAGED_DOCDIR
RESOURCES_DIR = NATIVELY_PACKAGED_RESOURCES_DIR
AGENTS_DIR = NATIVELY_PACKAGED_AGENTS_DIR
HELPER_SCRIPTS_DIR = NATIVELY_PACKAGED_HELPER_SCRIPTS_DIR
APACHE2_MODULE = NATIVELY_PACKAGED_APACHE2_MODULE
STANDALONE_BINARIES_URL_ROOT = "http://standalone-binaries.modrails.com"   Other resource locations ######
DEFAULT_FRAMEWORK_SPAWNER_MAX_IDLE_TIME = 30 * 60
DEFAULT_APP_SPAWNER_MAX_IDLE_TIME = 10 * 60
ROOT_UID = 0
ROOT_GID = 0
PASSENGER_ANALYTICS_WEB_LOG = "PASSENGER_ANALYTICS_WEB_LOG"
PASSENGER_TXN_ID = "PASSENGER_TXN_ID"
PASSENGER_GROUP_NAME = "PASSENGER_GROUP_NAME"
PASSENGER_UNION_STATION_KEY = "PASSENGER_UNION_STATION_KEY"

Attributes

_spawn_options  [RW]  Set during spawning, and set back to nil when spawning is done.

Public Class methods

Returns whether this Phusion Passenger installation is packaged using the OS‘s native package management system, i.e. as opposed to being installed from source or with RubyGems.

[Validate]