Table of Contents - puma-3.6.2 Documentation
Pages
- DEPLOYMENT
-
History
- 3.6.2 / 2016-11-22
- 3.6.1 / 2016-11-21
- 3.6.0 / 2016-07-24
- 3.5.2 / 2016-07-20
- 3.5.1 / 2016-07-20
- 3.5.0 / 2016-07-18
- 3.4.0 / 2016-04-07
- 3.3.0 / 2016-04-05
- 3.2.0 / 2016-03-20
- 3.1.1 / 2016-03-17
- 3.1.0 / 2016-03-05
- 3.0.2 / 2016-02-26
- 3.0.1 / 2016-02-25
- 3.0.0 / 2016-02-25
- 2.16.0 / 2016-01-27
- 2.15.3 / 2015-11-07
- 2.15.2 / 2015-11-06
- 2.15.1 / 2015-11-06
- 2.15.0 / 2015-11-06
- 2.14.0 / 2015-09-18
- 2.13.4 / 2015-08-16
- 2.13.3 / 2015-08-15
- 2.13.2 / 2015-08-15
- 2.13.1 / 2015-08-15
- 2.13.0 / 2015-08-14
- 2.12.3 / 2015-08-03
- 2.12.2 / 2015-07-17
- 2.12.1 / 2015-07-16
- 2.12.0 / 2015-07-14
- 2.11.3 / 2015-05-18
- 2.11.2 / 2015-04-11
- 2.11.1 / 2015-02-11
- 2.11.0 / 2015-01-20
- 2.10.2 / 2014-11-26
- 2.10.1 / 2014-11-24
- 2.10.0 / 2014-11-23
- 2.9.2 / 2014-10-25
- 2.9.1 / 2014-09-05
- 2.9.0 / 2014-07-12
- 2.8.2 / 2014-04-12
- 2.8.1 / 2014-03-06
- 2.8.0 / 2014-02-28
- 2.7.1 / 2013-12-05
- 2.7.0 / 2013-12-03
- 2.6.0 / 2013-09-13
- 2.5.1 / 2013-08-13
- 2.5.0 / 2013-08-08
- 2.4.1 / 2013-08-07
- 2.4.0 / 2013-07-22
- 2.3.2 / 2013-07-08
- 2.3.1 / 2013-07-06
- 2.3.0 / 2013-07-05
- 2.2.2 / 2013-07-02
- 2.2.1 / 2013-07-02
- 2.2.0 / 2013-07-01
- 2.1.1 / 2013-06-20
- 2.1.0 / 2013-06-18
- 2.0.1 / 2013-04-30
- 2.0.0 / 2013-04-29
- 2.0.0.b7 / 2013-03-18
- 2.0.0.b6 / 2013-02-06
- 2.0.0.b5 / 2013-02-05
- 2.0.0.b4 / 2012-12-12
- 2.0.0.b3 / 2012-11-22
- 2.0.0.b2 / 2012-11-18
- 2.0.0.b1 / 2012-09-11
- 1.6.3 / 2012-09-04
- 1.6.2 / 2012-08-27
- 1.6.1 / 2012-07-23
- 1.6.0 / 2012-07-23
- 1.5.0 / 2012-07-19
- 1.4.0 / 2012-06-04
- 1.3.1 / 2012-05-15
- 1.3.0 / 2012-05-08
- 1.2.2 / 2012-04-28
- 1.2.1 / 2012-04-11
- 1.2.0 / 2012-04-11
- 1.1.1 / 2012-03-30
- 1.1.0 / 2012-03-30
- 1.0.0 / 2012-03-29
- Manifest
-
README
- Puma: A Ruby Web Server Built For Concurrency
- Description
- Built For Speed & Concurrency
- Quick Start
- Plugins
- API
- Advanced Setup
- Sinatra
- Rails
- Rackup
- Configuration
- Thread Pool
- Clustered mode
- Error handler for low-level errors
- Binding TCP / Sockets
- Control/Status Server
- Configuration file
- Restart
- Normal vs Hot vs Phased Restart
- Puma Signals
- Release Directory
- Cleanup Code
- Platform Constraints
- pumactl
- Process Monitors
- Capistrano deployment
- Contributing
- License
- nginx
- signals
-
systemd
- systemd
- Uncomment for socket activation (see below)
- Requires=puma.socket
- Foreground process (do not use –daemon in ExecStart or config.rb)
- Preferably configure a non-privileged user
- User=
- Specify the path to your puma application root
- WorkingDirectory=
- Helpful for debugging socket activation, etc.
- Environment=PUMA_DEBUG=1
- The command to start Puma
- Here we are using a binstub generated via:
- bundle binstubs puma –path ./sbin
- in the WorkingDirectory (replace <WD> below)
- You can alternatively use bundle exec –keep-file-descriptors puma
- ExecStart=<WD>/sbin/puma -b tcp://0.0.0.0:9292 -b ssl://0.0.0.0:9293?key=key.pem&cert=cert.pem
- Alternatively with a config file (in WorkingDirectory) and
- comparable bind directives
- ExecStart=<WD>/sbin/puma -C config.rb
- Socket Activation
- AF_UNIX domain socket
- SocketUser, SocketGroup, etc. may be needed for Unix domain sockets
- ListenStream=/run/puma.sock
- Socket options matching Puma defaults
- Usage
- After installing or making changes to puma.service
- Enable so it starts on boot
- Initial start up.
- Check status
- A normal restart. Warning: listeners sockets will be closed
- while a new puma process initializes.
- After installing or making changes to either puma.socket or
- puma.service.
- Enable both socket and service so they start on boot. Alternatively
- you could leave puma.service disabled and systemd will start it on
- first use (with startup lag on first request)
- Initial start up. The Requires directive (see above) ensures the
- socket is started before the service.
- Check status of both socket and service.
- A “hot” restart, with systemd keeping puma.socket listening and
- providing to the new puma (master) instance.
- A normal restart, needed to handle changes to
- puma.socket, such as changing the ListenStream ports. Note
- daemon-reload (above) should be run first.
- Makefile
- PumaHttp11Service.java
- http11_parser.java.rl
- http11_parser.rl
- http11_parser_common.rl
- Http11.java
- Http11Parser.java
- MiniSSL.java
- README
- README
- README
Classes and Modules
- IO
- IO::WaitReadable
- Object
- OpenSSL
- OpenSSL::SSL
- OpenSSL::SSL::SSLServer
- Process
- Puma
- Puma::App
- Puma::App::Status
- Puma::Binder
- Puma::CLI
- Puma::Client
- Puma::Cluster
- Puma::Cluster::Worker
- Puma::CommonLogger
- Puma::ConfigDefault
- Puma::Configuration
- Puma::Configuration::ConfigMiddleware
- Puma::ConnectionError
- Puma::Const
- Puma::ControlCLI
- Puma::DSL
- Puma::Delegation
- Puma::Events
- Puma::Events::DefaultFormatter
- Puma::Events::PidFormatter
- Puma::HttpParser
- Puma::HttpParserError
- Puma::IOBuffer
- Puma::JRubyRestart
- Puma::JavaIOBuffer
- Puma::Launcher
- Puma::LeveledOptions
- Puma::MiniSSL
- Puma::MiniSSL::Context
- Puma::MiniSSL::SSLError
- Puma::MiniSSL::Server
- Puma::MiniSSL::Socket
- Puma::NullIO
- Puma::Plugin
- Puma::PluginLoader
- Puma::PluginRegistry
- Puma::Rack
- Puma::Rack::Builder
- Puma::Rack::Options
- Puma::Rack::URLMap
- Puma::Reactor
- Puma::Runner
- Puma::Server
- Puma::Single
- Puma::StateFile
- Puma::TCPLogger
- Puma::ThreadPool
- Puma::ThreadPool::AutoTrim
- Puma::ThreadPool::ForceShutdown
- Puma::ThreadPool::Reaper
- Puma::UnknownPlugin
- Puma::UnsupportedOption
- Puma::Util
- Puma::Util::HeaderHash
- Rack
- Rack::Handler
- Rack::Handler::Puma
- String
- unknown
Methods
- ::app — Puma::Rack::Builder
- ::chdir_exec — Puma::JRubyRestart
- ::check — Puma::MiniSSL
- ::clean_thread_locals — Puma::ThreadPool
- ::create — Puma::Plugin
- ::daemon — Process
- ::daemon? — Puma::JRubyRestart
- ::daemon_init — Puma::JRubyRestart
- ::daemon_start — Puma::JRubyRestart
- ::default — Rack::Handler
- ::extract_name — Puma::Plugin
- ::from_file — Puma::Configuration
- ::jruby? — Puma
- ::load — Puma::DSL
- ::new — Puma::HttpParser
- ::new — Puma::App::Status
- ::new — Puma::Binder
- ::new — Puma::CLI
- ::new — Puma::Client
- ::new — Puma::Cluster
- ::new — Puma::Cluster::Worker
- ::new — Puma::CommonLogger
- ::new — Puma::LeveledOptions
- ::new — Puma::Configuration
- ::new — Puma::Configuration::ConfigMiddleware
- ::new — Puma::ControlCLI
- ::new — Puma::DSL
- ::new — Puma::Events
- ::new — Puma::IOBuffer
- ::new — Puma::Launcher
- ::new — Puma::MiniSSL::Socket
- ::new — Puma::MiniSSL::Server
- ::new — Puma::PluginLoader
- ::new — Puma::PluginRegistry
- ::new — Puma::Plugin
- ::new — Puma::Rack::Builder
- ::new — Puma::Rack::URLMap
- ::new — Puma::Reactor
- ::new — Puma::Runner
- ::new — Puma::Server
- ::new — Puma::StateFile
- ::new — Puma::TCPLogger
- ::new — Puma::ThreadPool
- ::new — Puma::ThreadPool::AutoTrim
- ::new — Puma::ThreadPool::Reaper
- ::new — Puma::Util::HeaderHash
- ::new — Puma::Util::HeaderHash
- ::new_from_string — Puma::Rack::Builder
- ::null — Puma::Events
- ::parse_file — Puma::Rack::Builder
- ::perm_daemonize — Puma::JRubyRestart
- ::random_token — Puma::Configuration
- ::run — Puma
- ::run — Rack::Handler::Puma
- ::stdio — Puma::Events
- ::strings — Puma::Events
- ::temp_path — Puma::Configuration
- ::unescape — Puma::Util
- ::valid_options — Rack::Handler::Puma
- ::windows? — Puma
- #<< — Puma::IOBuffer
- #<< — Puma::MiniSSL::Socket
- #[] — Puma::LeveledOptions
- #[] — Puma::Util::HeaderHash
- #[]= — Puma::LeveledOptions
- #[]= — Puma::Util::HeaderHash
- #_ary — Puma::DSL
- #_load_from — Puma::DSL
- #_offer_plugins — Puma::DSL
- #_run — Puma::DSL
- #accept — Puma::MiniSSL::Server
- #accept_nonblock — OpenSSL::SSL::SSLServer
- #accept_nonblock — Puma::MiniSSL::Server
- #activate_control_app — Puma::DSL
- #add — Puma::Reactor
- #add_background — Puma::PluginRegistry
- #add_ssl_listener — Puma::Binder
- #add_tcp_listener — Puma::Binder
- #add_unix_listener — Puma::Binder
- #after_worker_boot — Puma::DSL
- #after_worker_fork — Puma::DSL
- #all_of — Puma::LeveledOptions
- #all_workers_booted? — Puma::Cluster
- #app — Puma::Configuration
- #app — Puma::DSL
- #app — Puma::Runner
- #app_configured? — Puma::Configuration
- #append — Puma::IOBuffer
- #authenticate — Puma::App::Status
- #backlog — Puma::Server
- #backlog — Puma::ThreadPool
- #before_fork — Puma::DSL
- #before_restart — Puma::Runner
- #bind — Puma::DSL
- #body — Puma::HttpParser
- #boot! — Puma::Cluster::Worker
- #booted? — Puma::Cluster::Worker
- #byteslice — String
- #ca= — Puma::MiniSSL::Context
- #calculate_sleep — Puma::Reactor
- #call — Puma::App::Status
- #call — Puma::Client
- #call — Puma::CommonLogger
- #call — Puma::Configuration::ConfigMiddleware
- #call — Puma::Events::DefaultFormatter
- #call — Puma::Events::PidFormatter
- #call — Puma::Rack::Builder
- #call — Puma::Rack::URLMap
- #call — Puma::TCPLogger
- #capacity — Puma::IOBuffer
- #casecmp? — Puma::Rack::URLMap
- #cert= — Puma::MiniSSL::Context
- #check — Puma::MiniSSL::Context
- #check_workers — Puma::Cluster
- #clamp — Puma::Configuration
- #clean_thread_locals — Puma::DSL
- #clear! — Puma::Reactor
- #close — Puma::Binder
- #close — Puma::Client
- #close — Puma::MiniSSL::Socket
- #close — Puma::MiniSSL::Server
- #close — Puma::NullIO
- #close_binder_listeners — Puma::Launcher
- #clustered? — Puma::Launcher
- #configure — Puma::Configuration
- #connected_port — Puma::Launcher
- #cork_socket — Puma::Server
- #create — Puma::PluginLoader
- #daemon? — Puma::Runner
- #daemonize — Puma::DSL
- #dead! — Puma::Cluster::Worker
- #dead? — Puma::Cluster::Worker
- #debug — Puma::DSL
- #debug — Puma::Events
- #debug — Puma::Runner
- #decode_chunk — Puma::Client
- #default_options — Puma::Configuration
- #delete — Puma::Util::HeaderHash
- #delete_pidfile — Puma::Launcher
- #development? — Puma::Runner
- #directory — Puma::DSL
- #drain_on_shutdown — Puma::DSL
- #each — Puma::NullIO
- #each — Puma::Util::HeaderHash
- #eagerly_finish — Puma::Client
- #engine_read_all — Puma::MiniSSL::Socket
- #env — Puma::Binder
- #environment — Puma::Configuration
- #environment — Puma::DSL
- #environment — Puma::Launcher
- #error — Puma::Events
- #error — Puma::Runner
- #error? — Puma::HttpParser
- #execute — Puma::HttpParser
- #explain — Puma::LeveledOptions
- #extract_content_length — Puma::CommonLogger
- #fetch — Puma::LeveledOptions
- #find — Puma::PluginRegistry
- #finish — Puma::HttpParser
- #finish — Puma::Client
- #finished? — Puma::HttpParser
- #fire — Puma::Events
- #fire_background — Puma::PluginRegistry
- #fire_on_booted! — Puma::Events
- #fire_starts — Puma::PluginLoader
- #flatten — Puma::LeveledOptions
- #flatten — Puma::Configuration
- #flatten! — Puma::Configuration
- #flush — Puma::MiniSSL::Socket
- #force_defaults — Puma::LeveledOptions
- #force_shutdown_after — Puma::DSL
- #format — Puma::Events
- #forward — Puma::Delegation
- #generate_map — Puma::Rack::Builder
- #generate_restart_data — Puma::Launcher
- #get — Puma::DSL
- #gets — Puma::NullIO
- #graceful_stop — Puma::Launcher
- #halt — Puma::Cluster
- #halt — Puma::Launcher
- #halt — Puma::Single
- #handle_servers — Puma::Server
- #handle_servers_lopez_mode — Puma::Server
- #handler_opts — Puma::Rack::Options
- #has_key? — Puma::Util::HeaderHash
- #hup — Puma::Cluster::Worker
- #import — Puma::DSL
- #import_from_env — Puma::Binder
- #in_background — Puma::Plugin
- #in_data_phase — Puma::Client
- #include? — Puma::Util::HeaderHash
- #infer_tag — Puma::Configuration
- #inherit_binder — Puma::Server
- #inherit_ssl_listener — Puma::Binder
- #inherit_tcp_listener — Puma::Binder
- #inherit_unix_listener — Puma::Binder
- #initialize_copy — Puma::LeveledOptions
- #initialize_copy — Puma::Configuration
- #inject — Puma::DSL
- #inspect — Puma::Client
- #jruby_daemon? — Puma::Single
- #jruby_daemon_start — Puma::Single
- #jruby_start_try_to_finish — Puma::Client
- #key= — Puma::MiniSSL::Context
- #key? — Puma::LeveledOptions
- #key? — Puma::Util::HeaderHash
- #keystore= — Puma::MiniSSL::Context
- #kill — Puma::Cluster::Worker
- #load — Puma::Configuration
- #load — Puma::DSL
- #load — Puma::StateFile
- #load_and_bind — Puma::Runner
- #load_plugin — Puma::Configuration
- #load_rackup — Puma::Configuration
- #localhost_addresses — Puma::Binder
- #log — Puma::CommonLogger
- #log — Puma::Events
- #log — Puma::Launcher
- #log — Puma::Runner
- #log — Puma::TCPLogger
- #log_hijacking — Puma::CommonLogger
- #log_requests — Puma::DSL
- #lowlevel_error_handler — Puma::DSL
- #map — Puma::Rack::Builder
- #member? — Puma::Util::HeaderHash
- #merge — Puma::Util::HeaderHash
- #merge! — Puma::LeveledOptions
- #merge! — Puma::Util::HeaderHash
- #message — Puma::ControlCLI
- #next_worker_index — Puma::Cluster
- #nread — Puma::HttpParser
- #on_booted — Puma::Events
- #on_restart — Puma::DSL
- #on_worker_boot — Puma::DSL
- #on_worker_fork — Puma::DSL
- #on_worker_shutdown — Puma::DSL
- #output_header — Puma::Runner
- #parse — Puma::Binder
- #parse! — Puma::Rack::Options
- #parse_error — Puma::Events
- #parse_query — Puma::Util
- #peeraddr — Puma::MiniSSL::Socket
- #peercert — Puma::MiniSSL::Socket
- #peerip — Puma::Client
- #persistent_timeout — Puma::DSL
- #phased_restart — Puma::Cluster
- #phased_restart — Puma::Launcher
- #pidfile — Puma::DSL
- #ping! — Puma::Cluster::Worker
- #ping_timeout? — Puma::Cluster::Worker
- #pipe — Puma::Util
- #plugin — Puma::DSL
- #port — Puma::DSL
- #preload? — Puma::Cluster
- #preload_app! — Puma::DSL
- #prepare_configuration — Puma::ControlCLI
- #prune_bundler — Puma::DSL
- #prune_bundler — Puma::Launcher
- #prune_bundler? — Puma::Launcher
- #puts — Puma::NullIO
- #queue_requests — Puma::DSL
- #quiet — Puma::DSL
- #rack_builder — Puma::Configuration
- #rack_response — Puma::App::Status
- #rackup — Puma::Configuration
- #rackup — Puma::DSL
- #read — Puma::NullIO
- #read_body — Puma::Client
- #read_chunked_body — Puma::Client
- #read_nonblock — Puma::MiniSSL::Socket
- #readpartial — Puma::MiniSSL::Socket
- #redirect_io — Puma::Cluster
- #redirect_io — Puma::Runner
- #redirected_io? — Puma::Runner
- #register — Puma::Events
- #register — Puma::PluginRegistry
- #reload_worker_directory — Puma::Cluster
- #reload_worker_directory — Puma::Launcher
- #remap — Puma::Rack::URLMap
- #replace — Puma::Util::HeaderHash
- #reset — Puma::HttpParser
- #reset — Puma::Client
- #reset — Puma::IOBuffer
- #restart — Puma::Cluster
- #restart — Puma::Launcher
- #restart — Puma::Single
- #restart! — Puma::Launcher
- #restart_args — Puma::Launcher
- #restart_command — Puma::DSL
- #rewind — Puma::NullIO
- #ruby_engine — Puma::Runner
- #run — Puma::CLI
- #run — Puma::Cluster
- #run — Puma::ControlCLI
- #run — Puma::Launcher
- #run — Puma::Rack::Builder
- #run — Puma::Reactor
- #run — Puma::Server
- #run — Puma::Single
- #run_hooks — Puma::Configuration
- #run_in_thread — Puma::Reactor
- #run_internal — Puma::Reactor
- #run_lopez_mode — Puma::Server
- #running — Puma::Server
- #save — Puma::StateFile
- #send_request — Puma::ControlCLI
- #send_signal — Puma::ControlCLI
- #set_process_title — Puma::Launcher
- #set_rack_environment — Puma::Launcher
- #set_remote_address — Puma::DSL
- #set_timeout — Puma::Client
- #setup_body — Puma::Client
- #setup_chunked_body — Puma::Client
- #setup_options — Puma::CLI
- #setup_signals — Puma::Cluster
- #setup_signals — Puma::Launcher
- #shift — Puma::LeveledOptions
- #shutdown — Puma::Reactor
- #shutdown_debug — Puma::DSL
- #size — Puma::NullIO
- #spawn_workers — Puma::Cluster
- #ssl_bind — Puma::DSL
- #ssl_error — Puma::Events
- #start — Puma::ControlCLI
- #start — Object
- #start! — Puma::ThreadPool::AutoTrim
- #start! — Puma::ThreadPool::Reaper
- #start_control — Puma::Runner
- #start_phased_restart — Puma::Cluster
- #start_server — Puma::Runner
- #state_path — Puma::DSL
- #stats — Puma::Cluster
- #stats — Puma::Launcher
- #stats — Puma::Single
- #stdout_redirect — Puma::DSL
- #stop — Puma::Cluster
- #stop — Puma::Launcher
- #stop — Puma::Single
- #stop — Puma::ThreadPool::AutoTrim
- #stop — Puma::ThreadPool::Reaper
- #stop_blocked — Puma::Cluster
- #stop_blocked — Puma::Single
- #stop_workers — Puma::Cluster
- #sync= — Puma::NullIO
- #syswrite — Puma::MiniSSL::Socket
- #tag — Puma::DSL
- #tcp_mode — Puma::DSL
- #tcp_mode! — Puma::DSL
- #tcp_mode! — Puma::Server
- #term — Puma::Cluster::Worker
- #threads — Puma::DSL
- #title — Puma::Launcher
- #to_app — Puma::Rack::Builder
- #to_hash — Puma::Util::HeaderHash
- #to_io — Puma::MiniSSL::Socket
- #to_io — Puma::MiniSSL::Server
- #to_s — Puma::IOBuffer
- #to_str — Puma::IOBuffer
- #try_to_finish — Puma::Client
- #uncork_socket — Puma::Server
- #unescape — Puma::Util
- #unknown_error — Puma::Events
- #unsupported — Puma::CLI
- #unsupported — Puma::Launcher
- #use — Puma::Rack::Builder
- #used — Puma::IOBuffer
- #wakeup! — Puma::Cluster
- #warmup — Puma::Rack::Builder
- #worker — Puma::Cluster
- #worker_boot_timeout — Puma::DSL
- #worker_directory — Puma::DSL
- #worker_shutdown_timeout — Puma::DSL
- #worker_timeout — Puma::DSL
- #workers — Puma::DSL
- #workers_supported? — Puma::Plugin
- #write — Puma::Events
- #write — Puma::MiniSSL::Socket
- #write — Puma::NullIO
- #write_400 — Puma::Client
- #write_408 — Puma::Client
- #write_500 — Puma::Client
- #write_pid — Puma::Launcher
- #write_state — Puma::Launcher