passenger 3.0.7 → 3.0.8
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.
- data/NEWS +27 -0
- data/README +1 -1
- data/bin/passenger-install-nginx-module +3 -1
- data/build/config.rb +2 -1
- data/build/cxx_tests.rb +7 -3
- data/build/documentation.rb +5 -40
- data/build/nginx.rb +0 -1
- data/build/packaging.rb +0 -6
- data/build/rake_extensions.rb +5 -0
- data/doc/Architectural overview.html +344 -77
- data/doc/Security of user switching support.html +338 -71
- data/doc/Users guide Apache with comments.html +4830 -0
- data/doc/Users guide Apache.html +695 -428
- data/doc/Users guide Apache.idmap.txt +80 -0
- data/doc/Users guide Apache.txt +5 -5
- data/doc/Users guide Nginx.html +591 -313
- data/doc/Users guide Nginx.txt +9 -3
- data/doc/Users guide Standalone.html +344 -77
- data/ext/boost/src/pthread/thread.cpp +1 -1
- data/ext/common/AccountsDatabase.h +1 -1
- data/ext/common/Constants.h +2 -2
- data/ext/common/Logging.h +2 -1
- data/ext/common/LoggingAgent/FilterSupport.h +107 -3
- data/ext/common/Session.h +1 -1
- data/ext/common/Utils.cpp +2 -0
- data/ext/common/Utils/Dechunker.h +232 -0
- data/ext/common/Utils/HttpHeaderBufferer.h +165 -0
- data/ext/common/Utils/StrIntUtils.cpp +51 -15
- data/ext/common/Utils/StrIntUtils.h +3 -0
- data/ext/common/Utils/StreamBoyerMooreHorspool.h +506 -0
- data/ext/nginx/Configuration.c +36 -282
- data/ext/nginx/ContentHandler.c +17 -0
- data/ext/nginx/HelperAgent.cpp +397 -39
- data/ext/oxt/tracable_exception.cpp +3 -1
- data/ext/ruby/extconf.rb +1 -0
- data/ext/ruby/passenger_native_support.c +3 -0
- data/helper-scripts/prespawn +113 -31
- data/lib/phusion_passenger.rb +2 -2
- data/lib/phusion_passenger/standalone/runtime_installer.rb +3 -2
- data/lib/phusion_passenger/standalone/start_command.rb +12 -12
- data/test/cxx/DechunkerTest.cpp +216 -0
- data/test/cxx/FilterSupportTest.cpp +31 -4
- data/test/cxx/HttpHeaderBuffererTest.cpp +203 -0
- data/test/cxx/UtilsTest.cpp +46 -3
- data/test/integration_tests/hello_world_rack_spec.rb +7 -0
- data/test/stub/rack/config.ru +6 -1
- data/test/stub/rails_apps/1.2/empty/public/dispatch.cgi +1 -1
- data/test/stub/rails_apps/1.2/empty/public/dispatch.fcgi +1 -1
- data/test/stub/rails_apps/1.2/empty/public/dispatch.rb +1 -1
- data/test/stub/rails_apps/2.0/empty/public/dispatch.cgi +1 -1
- data/test/stub/rails_apps/2.0/empty/public/dispatch.fcgi +1 -1
- data/test/stub/rails_apps/2.0/empty/public/dispatch.rb +1 -1
- data/test/stub/rails_apps/2.2/empty/public/dispatch.cgi +1 -1
- data/test/stub/rails_apps/2.2/empty/public/dispatch.fcgi +1 -1
- data/test/stub/rails_apps/2.2/empty/public/dispatch.rb +1 -1
- metadata +20 -403
- data/doc/Doxyfile +0 -241
- data/doc/cxxapi/AbstractSpawnManager_8h_source.html +0 -141
- data/doc/cxxapi/Account_8h_source.html +0 -206
- data/doc/cxxapi/AccountsDatabase_8h_source.html +0 -161
- data/doc/cxxapi/AgentBase_8h_source.html +0 -70
- data/doc/cxxapi/AgentsStarter_8h_source.html +0 -112
- data/doc/cxxapi/BCrypt_8h_source.html +0 -104
- data/doc/cxxapi/Blowfish_8h_source.html +0 -134
- data/doc/cxxapi/Bucket_8h_source.html +0 -118
- data/doc/cxxapi/Constants_8h_source.html +0 -79
- data/doc/cxxapi/ContentHandler_8h_source.html +0 -95
- data/doc/cxxapi/DirectoryMapper_8h_source.html +0 -311
- data/doc/cxxapi/EventedClient_8h_source.html +0 -733
- data/doc/cxxapi/EventedMessageServer_8h_source.html +0 -358
- data/doc/cxxapi/EventedServer_8h_source.html +0 -326
- data/doc/cxxapi/Exceptions_8h_source.html +0 -393
- data/doc/cxxapi/FileDescriptor_8h_source.html +0 -324
- data/doc/cxxapi/Hooks_8h_source.html +0 -76
- data/doc/cxxapi/HttpStatusExtractor_8h_source.html +0 -382
- data/doc/cxxapi/IniFile_8h_source.html +0 -527
- data/doc/cxxapi/Logging_8h_source.html +0 -796
- data/doc/cxxapi/MessageChannel_8h_source.html +0 -776
- data/doc/cxxapi/MessageClient_8h_source.html +0 -328
- data/doc/cxxapi/MessageReadersWriters_8h_source.html +0 -539
- data/doc/cxxapi/MessageServer_8h_source.html +0 -612
- data/doc/cxxapi/PoolOptions_8h_source.html +0 -549
- data/doc/cxxapi/Process_8h_source.html +0 -286
- data/doc/cxxapi/RandomGenerator_8h_source.html +0 -191
- data/doc/cxxapi/ResourceLocator_8h_source.html +0 -166
- data/doc/cxxapi/SafeLibev_8h_source.html +0 -180
- data/doc/cxxapi/ScgiRequestParser_8h_source.html +0 -406
- data/doc/cxxapi/ServerInstanceDir_8h_source.html +0 -378
- data/doc/cxxapi/Session_8h_source.html +0 -501
- data/doc/cxxapi/SpawnManager_8h_source.html +0 -647
- data/doc/cxxapi/StaticContentHandler_8h_source.html +0 -69
- data/doc/cxxapi/StaticString_8h_source.html +0 -329
- data/doc/cxxapi/StringListCreator_8h_source.html +0 -114
- data/doc/cxxapi/Utils_8h_source.html +0 -469
- data/doc/cxxapi/annotated.html +0 -87
- data/doc/cxxapi/apache2_2Configuration_8h_source.html +0 -82
- data/doc/cxxapi/classAgentWatcher-members.html +0 -54
- data/doc/cxxapi/classAgentWatcher.html +0 -419
- data/doc/cxxapi/classClient-members.html +0 -38
- data/doc/cxxapi/classClient.html +0 -123
- data/doc/cxxapi/classHooks-members.html +0 -40
- data/doc/cxxapi/classHooks.html +0 -153
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +0 -187
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ArgumentException.html +0 -56
- data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +0 -113
- data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +0 -38
- data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +0 -112
- data/doc/cxxapi/classPassenger_1_1BusyException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1BusyException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +0 -51
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -223
- data/doc/cxxapi/classPassenger_1_1EOFException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1EOFException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventFd-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1EventFd.html +0 -52
- data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +0 -59
- data/doc/cxxapi/classPassenger_1_1EventedClient.html +0 -531
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +0 -59
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1EventedServer.html +0 -93
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +0 -178
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +0 -52
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +0 -58
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1FileSystemException.html +0 -66
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +0 -128
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1IOException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +0 -4
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -57
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -839
- data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +0 -49
- data/doc/cxxapi/classPassenger_1_1MessageServer.html +0 -407
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +0 -58
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +0 -165
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +0 -173
- data/doc/cxxapi/classPassenger_1_1Process-members.html +0 -44
- data/doc/cxxapi/classPassenger_1_1Process.html +0 -290
- data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +0 -79
- data/doc/cxxapi/classPassenger_1_1ResourceLocator-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ResourceLocator.html +0 -51
- data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1RuntimeException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1SafeLibev.html +0 -51
- data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +0 -76
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +0 -50
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +0 -285
- data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1SecurityException.html +0 -56
- data/doc/cxxapi/classPassenger_1_1Session-members.html +0 -53
- data/doc/cxxapi/classPassenger_1_1Session.html +0 -556
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +0 -101
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +0 -42
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +0 -292
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +0 -54
- data/doc/cxxapi/classPassenger_1_1StandardSession.html +0 -394
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StaticString-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1StaticString.html +0 -56
- data/doc/cxxapi/classPassenger_1_1SyntaxError-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1SyntaxError.html +0 -54
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1SystemException.html +0 -155
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +0 -4
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1TimeoutException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1Uint16Message.html +0 -51
- data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1Uint32Message.html +0 -51
- data/doc/cxxapi/classServer-members.html +0 -36
- data/doc/cxxapi/classServer.html +0 -49
- data/doc/cxxapi/classServerInstanceDirToucher-members.html +0 -36
- data/doc/cxxapi/classServerInstanceDirToucher.html +0 -47
- data/doc/cxxapi/classes.html +0 -52
- data/doc/cxxapi/definitions_8h_source.html +0 -36
- data/doc/cxxapi/doxygen.css +0 -532
- data/doc/cxxapi/doxygen.png +0 -0
- data/doc/cxxapi/files.html +0 -76
- data/doc/cxxapi/ftv2blank.png +0 -0
- data/doc/cxxapi/ftv2doc.png +0 -0
- data/doc/cxxapi/ftv2folderclosed.png +0 -0
- data/doc/cxxapi/ftv2folderopen.png +0 -0
- data/doc/cxxapi/ftv2lastnode.png +0 -0
- data/doc/cxxapi/ftv2link.png +0 -0
- data/doc/cxxapi/ftv2mlastnode.png +0 -0
- data/doc/cxxapi/ftv2mnode.png +0 -0
- data/doc/cxxapi/ftv2node.png +0 -0
- data/doc/cxxapi/ftv2plastnode.png +0 -0
- data/doc/cxxapi/ftv2pnode.png +0 -0
- data/doc/cxxapi/ftv2vertline.png +0 -0
- data/doc/cxxapi/functions.html +0 -103
- data/doc/cxxapi/functions_0x62.html +0 -82
- data/doc/cxxapi/functions_0x63.html +0 -102
- data/doc/cxxapi/functions_0x64.html +0 -102
- data/doc/cxxapi/functions_0x65.html +0 -88
- data/doc/cxxapi/functions_0x66.html +0 -100
- data/doc/cxxapi/functions_0x67.html +0 -167
- data/doc/cxxapi/functions_0x68.html +0 -88
- data/doc/cxxapi/functions_0x69.html +0 -96
- data/doc/cxxapi/functions_0x6b.html +0 -80
- data/doc/cxxapi/functions_0x6c.html +0 -88
- data/doc/cxxapi/functions_0x6d.html +0 -88
- data/doc/cxxapi/functions_0x6e.html +0 -86
- data/doc/cxxapi/functions_0x6f.html +0 -94
- data/doc/cxxapi/functions_0x70.html +0 -94
- data/doc/cxxapi/functions_0x72.html +0 -110
- data/doc/cxxapi/functions_0x73.html +0 -171
- data/doc/cxxapi/functions_0x74.html +0 -85
- data/doc/cxxapi/functions_0x75.html +0 -85
- data/doc/cxxapi/functions_0x77.html +0 -92
- data/doc/cxxapi/functions_0x7e.html +0 -79
- data/doc/cxxapi/functions_enum.html +0 -49
- data/doc/cxxapi/functions_eval.html +0 -67
- data/doc/cxxapi/functions_func.html +0 -531
- data/doc/cxxapi/functions_vars.html +0 -278
- data/doc/cxxapi/graph_legend.dot +0 -22
- data/doc/cxxapi/graph_legend.html +0 -92
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Core.html +0 -46
- data/doc/cxxapi/group__Core.map +0 -3
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Exceptions.html +0 -53
- data/doc/cxxapi/group__Hooks.html +0 -42
- data/doc/cxxapi/group__Hooks.map +0 -3
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/group__Support.html +0 -538
- data/doc/cxxapi/hierarchy.html +0 -101
- data/doc/cxxapi/index.html +0 -16
- data/doc/cxxapi/inherit__graph__0.map +0 -3
- data/doc/cxxapi/inherit__graph__0.md5 +0 -1
- data/doc/cxxapi/inherit__graph__0.png +0 -0
- data/doc/cxxapi/inherit__graph__1.map +0 -3
- data/doc/cxxapi/inherit__graph__1.md5 +0 -1
- data/doc/cxxapi/inherit__graph__1.png +0 -0
- data/doc/cxxapi/inherit__graph__10.map +0 -3
- data/doc/cxxapi/inherit__graph__10.md5 +0 -1
- data/doc/cxxapi/inherit__graph__10.png +0 -0
- data/doc/cxxapi/inherit__graph__11.map +0 -4
- data/doc/cxxapi/inherit__graph__11.md5 +0 -1
- data/doc/cxxapi/inherit__graph__11.png +0 -0
- data/doc/cxxapi/inherit__graph__12.map +0 -3
- data/doc/cxxapi/inherit__graph__12.md5 +0 -1
- data/doc/cxxapi/inherit__graph__12.png +0 -0
- data/doc/cxxapi/inherit__graph__13.map +0 -3
- data/doc/cxxapi/inherit__graph__13.md5 +0 -1
- data/doc/cxxapi/inherit__graph__13.png +0 -0
- data/doc/cxxapi/inherit__graph__14.map +0 -3
- data/doc/cxxapi/inherit__graph__14.md5 +0 -1
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +0 -3
- data/doc/cxxapi/inherit__graph__15.md5 +0 -1
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +0 -5
- data/doc/cxxapi/inherit__graph__16.md5 +0 -1
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +0 -3
- data/doc/cxxapi/inherit__graph__17.md5 +0 -1
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.map +0 -3
- data/doc/cxxapi/inherit__graph__18.md5 +0 -1
- data/doc/cxxapi/inherit__graph__18.png +0 -0
- data/doc/cxxapi/inherit__graph__19.map +0 -4
- data/doc/cxxapi/inherit__graph__19.md5 +0 -1
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__2.map +0 -3
- data/doc/cxxapi/inherit__graph__2.md5 +0 -1
- data/doc/cxxapi/inherit__graph__2.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +0 -3
- data/doc/cxxapi/inherit__graph__20.md5 +0 -1
- data/doc/cxxapi/inherit__graph__20.png +0 -0
- data/doc/cxxapi/inherit__graph__21.map +0 -3
- data/doc/cxxapi/inherit__graph__21.md5 +0 -1
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__22.map +0 -3
- data/doc/cxxapi/inherit__graph__22.md5 +0 -1
- data/doc/cxxapi/inherit__graph__22.png +0 -0
- data/doc/cxxapi/inherit__graph__23.map +0 -3
- data/doc/cxxapi/inherit__graph__23.md5 +0 -1
- data/doc/cxxapi/inherit__graph__23.png +0 -0
- data/doc/cxxapi/inherit__graph__24.map +0 -3
- data/doc/cxxapi/inherit__graph__24.md5 +0 -1
- data/doc/cxxapi/inherit__graph__24.png +0 -0
- data/doc/cxxapi/inherit__graph__25.map +0 -3
- data/doc/cxxapi/inherit__graph__25.md5 +0 -1
- data/doc/cxxapi/inherit__graph__25.png +0 -0
- data/doc/cxxapi/inherit__graph__26.map +0 -3
- data/doc/cxxapi/inherit__graph__26.md5 +0 -1
- data/doc/cxxapi/inherit__graph__26.png +0 -0
- data/doc/cxxapi/inherit__graph__27.map +0 -3
- data/doc/cxxapi/inherit__graph__27.md5 +0 -1
- data/doc/cxxapi/inherit__graph__27.png +0 -0
- data/doc/cxxapi/inherit__graph__28.map +0 -3
- data/doc/cxxapi/inherit__graph__28.md5 +0 -1
- data/doc/cxxapi/inherit__graph__28.png +0 -0
- data/doc/cxxapi/inherit__graph__29.map +0 -3
- data/doc/cxxapi/inherit__graph__29.md5 +0 -1
- data/doc/cxxapi/inherit__graph__29.png +0 -0
- data/doc/cxxapi/inherit__graph__3.map +0 -4
- data/doc/cxxapi/inherit__graph__3.md5 +0 -1
- data/doc/cxxapi/inherit__graph__3.png +0 -0
- data/doc/cxxapi/inherit__graph__30.map +0 -3
- data/doc/cxxapi/inherit__graph__30.md5 +0 -1
- data/doc/cxxapi/inherit__graph__30.png +0 -0
- data/doc/cxxapi/inherit__graph__31.map +0 -4
- data/doc/cxxapi/inherit__graph__31.md5 +0 -1
- data/doc/cxxapi/inherit__graph__31.png +0 -0
- data/doc/cxxapi/inherit__graph__32.map +0 -3
- data/doc/cxxapi/inherit__graph__32.md5 +0 -1
- data/doc/cxxapi/inherit__graph__32.png +0 -0
- data/doc/cxxapi/inherit__graph__33.map +0 -3
- data/doc/cxxapi/inherit__graph__33.md5 +0 -1
- data/doc/cxxapi/inherit__graph__33.png +0 -0
- data/doc/cxxapi/inherit__graph__34.map +0 -3
- data/doc/cxxapi/inherit__graph__34.md5 +0 -1
- data/doc/cxxapi/inherit__graph__34.png +0 -0
- data/doc/cxxapi/inherit__graph__35.map +0 -3
- data/doc/cxxapi/inherit__graph__35.md5 +0 -1
- data/doc/cxxapi/inherit__graph__35.png +0 -0
- data/doc/cxxapi/inherit__graph__36.map +0 -5
- data/doc/cxxapi/inherit__graph__36.md5 +0 -1
- data/doc/cxxapi/inherit__graph__36.png +0 -0
- data/doc/cxxapi/inherit__graph__37.map +0 -3
- data/doc/cxxapi/inherit__graph__37.md5 +0 -1
- data/doc/cxxapi/inherit__graph__37.png +0 -0
- data/doc/cxxapi/inherit__graph__38.map +0 -3
- data/doc/cxxapi/inherit__graph__38.md5 +0 -1
- data/doc/cxxapi/inherit__graph__38.png +0 -0
- data/doc/cxxapi/inherit__graph__39.map +0 -3
- data/doc/cxxapi/inherit__graph__39.md5 +0 -1
- data/doc/cxxapi/inherit__graph__39.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +0 -3
- data/doc/cxxapi/inherit__graph__4.md5 +0 -1
- data/doc/cxxapi/inherit__graph__4.png +0 -0
- data/doc/cxxapi/inherit__graph__40.map +0 -3
- data/doc/cxxapi/inherit__graph__40.md5 +0 -1
- data/doc/cxxapi/inherit__graph__40.png +0 -0
- data/doc/cxxapi/inherit__graph__41.map +0 -3
- data/doc/cxxapi/inherit__graph__41.md5 +0 -1
- data/doc/cxxapi/inherit__graph__41.png +0 -0
- data/doc/cxxapi/inherit__graph__5.map +0 -3
- data/doc/cxxapi/inherit__graph__5.md5 +0 -1
- data/doc/cxxapi/inherit__graph__5.png +0 -0
- data/doc/cxxapi/inherit__graph__6.map +0 -3
- data/doc/cxxapi/inherit__graph__6.md5 +0 -1
- data/doc/cxxapi/inherit__graph__6.png +0 -0
- data/doc/cxxapi/inherit__graph__7.map +0 -3
- data/doc/cxxapi/inherit__graph__7.md5 +0 -1
- data/doc/cxxapi/inherit__graph__7.png +0 -0
- data/doc/cxxapi/inherit__graph__8.map +0 -3
- data/doc/cxxapi/inherit__graph__8.md5 +0 -1
- data/doc/cxxapi/inherit__graph__8.png +0 -0
- data/doc/cxxapi/inherit__graph__9.map +0 -3
- data/doc/cxxapi/inherit__graph__9.md5 +0 -1
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +0 -165
- data/doc/cxxapi/main.html +0 -28
- data/doc/cxxapi/modules.html +0 -36
- data/doc/cxxapi/namespacePassenger.html +0 -585
- data/doc/cxxapi/namespacemembers.html +0 -190
- data/doc/cxxapi/namespacemembers_enum.html +0 -48
- data/doc/cxxapi/namespacemembers_eval.html +0 -57
- data/doc/cxxapi/namespacemembers_func.html +0 -114
- data/doc/cxxapi/namespacemembers_type.html +0 -54
- data/doc/cxxapi/namespaces.html +0 -37
- data/doc/cxxapi/nginx_2Configuration_8h_source.html +0 -126
- data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +0 -95
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +0 -36
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +0 -51
- data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +0 -67
- data/doc/cxxapi/structPassenger_1_1PoolOptions.html +0 -647
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +0 -36
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +0 -51
- data/doc/cxxapi/tab_b.gif +0 -0
- data/doc/cxxapi/tab_l.gif +0 -0
- data/doc/cxxapi/tab_r.gif +0 -0
- data/doc/cxxapi/tabs.css +0 -105
- data/doc/cxxapi/tree.html +0 -249
- data/doc/template/horo.rb +0 -613
- data/ext/libev/config.h +0 -122
- data/ext/nginx/HttpStatusExtractor.h +0 -351
data/doc/Users guide Nginx.txt
CHANGED
@@ -276,7 +276,7 @@ Nginx binary.
|
|
276
276
|
|
277
277
|
|
278
278
|
[[deploying_a_ror_app]]
|
279
|
-
== Deploying a Ruby on Rails application ==
|
279
|
+
== Deploying a Ruby on Rails 1.x or 2.x (but NOT Rails >= 3) application ==
|
280
280
|
|
281
281
|
Suppose you have a Ruby on Rails application in '/webapps/mycook', and you own
|
282
282
|
the domain 'www.mycook.com'. You can either deploy your application to the
|
@@ -409,7 +409,7 @@ See <<capistrano,Capistrano recipe>>.
|
|
409
409
|
|
410
410
|
|
411
411
|
[[deploying_a_rack_app]]
|
412
|
-
== Deploying a Rack-based Ruby application ==
|
412
|
+
== Deploying a Rack-based Ruby application (including Rails >= 3) ==
|
413
413
|
|
414
414
|
Phusion Passenger supports arbitrary Ruby web applications that follow the
|
415
415
|
link:http://rack.rubyforge.org/[Rack] interface.
|
@@ -826,6 +826,12 @@ This option may occur in the following places:
|
|
826
826
|
|
827
827
|
In each place, it may be specified at most once. The default value is 'on'.
|
828
828
|
|
829
|
+
==== passenger_buffer_size ====
|
830
|
+
==== passenger_buffers ====
|
831
|
+
==== passenger_busy_buffer_size ====
|
832
|
+
These options have the same effect as proxy_module's similarly named options.
|
833
|
+
They can be used to modify the maximum allowed HTTP header size.
|
834
|
+
|
829
835
|
=== Security options ===
|
830
836
|
[[PassengerUserSwitching]]
|
831
837
|
==== passenger_user_switching <on|off> ====
|
@@ -836,7 +842,7 @@ The default value is 'on'.
|
|
836
842
|
|
837
843
|
==== passenger_user <username> ====
|
838
844
|
If <<user_switching,user switching support>> is enabled, then Phusion Passenger will
|
839
|
-
by default run the web application as the owner
|
845
|
+
by default run the web application as the owner of the file 'config/environment.rb'
|
840
846
|
(for Rails apps) or 'config.ru' (for Rack apps). This option allows you to override
|
841
847
|
that behavior and explicitly set a user to run the web application as, regardless
|
842
848
|
of the ownership of 'environment.rb'/'config.ru'.
|
@@ -1,16 +1,35 @@
|
|
1
|
-
<!DOCTYPE html
|
2
|
-
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
4
3
|
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="
|
6
|
-
<meta name="generator" content="AsciiDoc 8.6.
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
+
<meta name="generator" content="AsciiDoc 8.6.5">
|
7
6
|
<title>Phusion Passenger Standalone users guide</title>
|
8
7
|
<style type="text/css">
|
9
|
-
/* Debug borders */
|
10
|
-
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
|
11
8
|
/*
|
12
|
-
|
13
|
-
|
9
|
+
* AsciiDoc 'flask' theme for xhtml11 and html5 backends. A shameless knock-off
|
10
|
+
* of the Flask website styling (http://flask.pocoo.org/docs/).
|
11
|
+
*
|
12
|
+
* The implementation is straight-forward, consisting of the asciidoc.css file
|
13
|
+
* followed by theme specific overrides.
|
14
|
+
*
|
15
|
+
* */
|
16
|
+
|
17
|
+
|
18
|
+
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
19
|
+
|
20
|
+
/* Default font. */
|
21
|
+
body {
|
22
|
+
font-family: Georgia,serif;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* Title font. */
|
26
|
+
h1, h2, h3, h4, h5, h6,
|
27
|
+
div.title, caption.title,
|
28
|
+
thead, p.table.header,
|
29
|
+
#toctitle,
|
30
|
+
#author, #revnumber, #revdate, #revremark,
|
31
|
+
#footer {
|
32
|
+
font-family: Arial,Helvetica,sans-serif;
|
14
33
|
}
|
15
34
|
|
16
35
|
body {
|
@@ -35,13 +54,8 @@ strong {
|
|
35
54
|
color: #083194;
|
36
55
|
}
|
37
56
|
|
38
|
-
tt {
|
39
|
-
color: navy;
|
40
|
-
}
|
41
|
-
|
42
57
|
h1, h2, h3, h4, h5, h6 {
|
43
58
|
color: #527bbd;
|
44
|
-
font-family: sans-serif;
|
45
59
|
margin-top: 1.2em;
|
46
60
|
margin-bottom: 0.5em;
|
47
61
|
line-height: 1.3;
|
@@ -59,9 +73,11 @@ h3 {
|
|
59
73
|
h3 + * {
|
60
74
|
clear: left;
|
61
75
|
}
|
76
|
+
h5 {
|
77
|
+
font-size: 1.0em;
|
78
|
+
}
|
62
79
|
|
63
80
|
div.sectionbody {
|
64
|
-
font-family: serif;
|
65
81
|
margin-left: 0;
|
66
82
|
}
|
67
83
|
|
@@ -77,45 +93,44 @@ p {
|
|
77
93
|
ul, ol, li > p {
|
78
94
|
margin-top: 0;
|
79
95
|
}
|
96
|
+
ul > li { color: #aaa; }
|
97
|
+
ul > li > * { color: black; }
|
80
98
|
|
81
99
|
pre {
|
82
100
|
padding: 0;
|
83
101
|
margin: 0;
|
84
102
|
}
|
85
103
|
|
86
|
-
|
104
|
+
#author {
|
87
105
|
color: #527bbd;
|
88
|
-
font-family: sans-serif;
|
89
106
|
font-weight: bold;
|
90
107
|
font-size: 1.1em;
|
91
108
|
}
|
92
|
-
|
109
|
+
#email {
|
93
110
|
}
|
94
|
-
|
95
|
-
font-family: sans-serif;
|
111
|
+
#revnumber, #revdate, #revremark {
|
96
112
|
}
|
97
113
|
|
98
|
-
|
99
|
-
font-family: sans-serif;
|
114
|
+
#footer {
|
100
115
|
font-size: small;
|
101
116
|
border-top: 2px solid silver;
|
102
117
|
padding-top: 0.5em;
|
103
118
|
margin-top: 4.0em;
|
104
119
|
}
|
105
|
-
|
120
|
+
#footer-text {
|
106
121
|
float: left;
|
107
122
|
padding-bottom: 0.5em;
|
108
123
|
}
|
109
|
-
|
124
|
+
#footer-badges {
|
110
125
|
float: right;
|
111
126
|
padding-bottom: 0.5em;
|
112
127
|
}
|
113
128
|
|
114
|
-
|
129
|
+
#preamble {
|
115
130
|
margin-top: 1.5em;
|
116
131
|
margin-bottom: 1.5em;
|
117
132
|
}
|
118
|
-
div.
|
133
|
+
div.imageblock, div.exampleblock, div.verseblock,
|
119
134
|
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
120
135
|
div.admonitionblock {
|
121
136
|
margin-top: 1.0em;
|
@@ -135,7 +150,6 @@ div.content { /* Block element content. */
|
|
135
150
|
/* Block element titles. */
|
136
151
|
div.title, caption.title {
|
137
152
|
color: #527bbd;
|
138
|
-
font-family: sans-serif;
|
139
153
|
font-weight: bold;
|
140
154
|
text-align: left;
|
141
155
|
margin-top: 1.0em;
|
@@ -157,13 +171,15 @@ div.content + div.title {
|
|
157
171
|
|
158
172
|
div.sidebarblock > div.content {
|
159
173
|
background: #ffffee;
|
160
|
-
border: 1px solid
|
174
|
+
border: 1px solid #dddddd;
|
175
|
+
border-left: 4px solid #f0f0f0;
|
161
176
|
padding: 0.5em;
|
162
177
|
}
|
163
178
|
|
164
179
|
div.listingblock > div.content {
|
165
|
-
border: 1px solid
|
166
|
-
|
180
|
+
border: 1px solid #dddddd;
|
181
|
+
border-left: 5px solid #f0f0f0;
|
182
|
+
background: #f8f8f8;
|
167
183
|
padding: 0.5em;
|
168
184
|
}
|
169
185
|
|
@@ -171,7 +187,7 @@ div.quoteblock, div.verseblock {
|
|
171
187
|
padding-left: 1.0em;
|
172
188
|
margin-left: 1.0em;
|
173
189
|
margin-right: 10%;
|
174
|
-
border-left: 5px solid #
|
190
|
+
border-left: 5px solid #f0f0f0;
|
175
191
|
color: #777777;
|
176
192
|
}
|
177
193
|
|
@@ -182,6 +198,7 @@ div.quoteblock > div.attribution {
|
|
182
198
|
|
183
199
|
div.verseblock > pre.content {
|
184
200
|
font-family: inherit;
|
201
|
+
font-size: inherit;
|
185
202
|
}
|
186
203
|
div.verseblock > div.attribution {
|
187
204
|
padding-top: 0.75em;
|
@@ -254,36 +271,12 @@ div.compact div, div.compact div {
|
|
254
271
|
margin-bottom: 0.1em;
|
255
272
|
}
|
256
273
|
|
257
|
-
div.tableblock > table {
|
258
|
-
border: 3px solid #527bbd;
|
259
|
-
}
|
260
|
-
thead, p.table.header {
|
261
|
-
font-family: sans-serif;
|
262
|
-
font-weight: bold;
|
263
|
-
color: #527bbd;
|
264
|
-
}
|
265
274
|
tfoot {
|
266
275
|
font-weight: bold;
|
267
276
|
}
|
268
277
|
td > div.verse {
|
269
278
|
white-space: pre;
|
270
279
|
}
|
271
|
-
p.table {
|
272
|
-
margin-top: 0;
|
273
|
-
}
|
274
|
-
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
275
|
-
div.tableblock > table[frame="void"] {
|
276
|
-
border-style: none;
|
277
|
-
}
|
278
|
-
div.tableblock > table[frame="hsides"] {
|
279
|
-
border-left-style: none;
|
280
|
-
border-right-style: none;
|
281
|
-
}
|
282
|
-
div.tableblock > table[frame="vsides"] {
|
283
|
-
border-top-style: none;
|
284
|
-
border-bottom-style: none;
|
285
|
-
}
|
286
|
-
|
287
280
|
|
288
281
|
div.hdlist {
|
289
282
|
margin-top: 0.8em;
|
@@ -350,16 +343,15 @@ div.colist td img {
|
|
350
343
|
}
|
351
344
|
|
352
345
|
@media print {
|
353
|
-
|
346
|
+
#footer-badges { display: none; }
|
354
347
|
}
|
355
348
|
|
356
|
-
|
349
|
+
#toc {
|
357
350
|
margin-bottom: 2.5em;
|
358
351
|
}
|
359
352
|
|
360
|
-
|
353
|
+
#toctitle {
|
361
354
|
color: #527bbd;
|
362
|
-
font-family: sans-serif;
|
363
355
|
font-size: 1.1em;
|
364
356
|
font-weight: bold;
|
365
357
|
margin-top: 1.0em;
|
@@ -383,10 +375,223 @@ div.toclevel4 {
|
|
383
375
|
font-size: 0.9em;
|
384
376
|
}
|
385
377
|
|
378
|
+
span.aqua { color: aqua; }
|
379
|
+
span.black { color: black; }
|
380
|
+
span.blue { color: blue; }
|
381
|
+
span.fuchsia { color: fuchsia; }
|
382
|
+
span.gray { color: gray; }
|
383
|
+
span.green { color: green; }
|
384
|
+
span.lime { color: lime; }
|
385
|
+
span.maroon { color: maroon; }
|
386
|
+
span.navy { color: navy; }
|
387
|
+
span.olive { color: olive; }
|
388
|
+
span.purple { color: purple; }
|
389
|
+
span.red { color: red; }
|
390
|
+
span.silver { color: silver; }
|
391
|
+
span.teal { color: teal; }
|
392
|
+
span.white { color: white; }
|
393
|
+
span.yellow { color: yellow; }
|
394
|
+
|
395
|
+
span.aqua-background { background: aqua; }
|
396
|
+
span.black-background { background: black; }
|
397
|
+
span.blue-background { background: blue; }
|
398
|
+
span.fuchsia-background { background: fuchsia; }
|
399
|
+
span.gray-background { background: gray; }
|
400
|
+
span.green-background { background: green; }
|
401
|
+
span.lime-background { background: lime; }
|
402
|
+
span.maroon-background { background: maroon; }
|
403
|
+
span.navy-background { background: navy; }
|
404
|
+
span.olive-background { background: olive; }
|
405
|
+
span.purple-background { background: purple; }
|
406
|
+
span.red-background { background: red; }
|
407
|
+
span.silver-background { background: silver; }
|
408
|
+
span.teal-background { background: teal; }
|
409
|
+
span.white-background { background: white; }
|
410
|
+
span.yellow-background { background: yellow; }
|
411
|
+
|
412
|
+
span.big { font-size: 2em; }
|
413
|
+
span.small { font-size: 0.6em; }
|
414
|
+
|
415
|
+
span.underline { text-decoration: underline; }
|
416
|
+
span.overline { text-decoration: overline; }
|
417
|
+
span.line-through { text-decoration: line-through; }
|
418
|
+
|
419
|
+
|
420
|
+
/*
|
421
|
+
* xhtml11 specific
|
422
|
+
*
|
423
|
+
* */
|
424
|
+
|
425
|
+
tt {
|
426
|
+
font-family: monospace;
|
427
|
+
font-size: inherit;
|
428
|
+
color: navy;
|
429
|
+
}
|
430
|
+
|
431
|
+
div.tableblock {
|
432
|
+
margin-top: 1.0em;
|
433
|
+
margin-bottom: 1.5em;
|
434
|
+
}
|
435
|
+
div.tableblock > table {
|
436
|
+
border: 3px solid #527bbd;
|
437
|
+
}
|
438
|
+
thead, p.table.header {
|
439
|
+
font-weight: bold;
|
440
|
+
color: #527bbd;
|
441
|
+
}
|
442
|
+
p.table {
|
443
|
+
margin-top: 0;
|
444
|
+
}
|
445
|
+
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
446
|
+
div.tableblock > table[frame="void"] {
|
447
|
+
border-style: none;
|
448
|
+
}
|
449
|
+
div.tableblock > table[frame="hsides"] {
|
450
|
+
border-left-style: none;
|
451
|
+
border-right-style: none;
|
452
|
+
}
|
453
|
+
div.tableblock > table[frame="vsides"] {
|
454
|
+
border-top-style: none;
|
455
|
+
border-bottom-style: none;
|
456
|
+
}
|
457
|
+
|
458
|
+
|
459
|
+
/*
|
460
|
+
* html5 specific
|
461
|
+
*
|
462
|
+
* */
|
463
|
+
|
464
|
+
.monospaced {
|
465
|
+
font-family: monospace;
|
466
|
+
font-size: inherit;
|
467
|
+
color: navy;
|
468
|
+
}
|
469
|
+
|
470
|
+
table.tableblock {
|
471
|
+
margin-top: 1.0em;
|
472
|
+
margin-bottom: 1.5em;
|
473
|
+
}
|
474
|
+
thead, p.tableblock.header {
|
475
|
+
font-weight: bold;
|
476
|
+
color: #527bbd;
|
477
|
+
}
|
478
|
+
p.tableblock {
|
479
|
+
margin-top: 0;
|
480
|
+
}
|
481
|
+
table.tableblock {
|
482
|
+
border-width: 3px;
|
483
|
+
border-spacing: 0px;
|
484
|
+
border-style: solid;
|
485
|
+
border-color: #527bbd;
|
486
|
+
border-collapse: collapse;
|
487
|
+
}
|
488
|
+
th.tableblock, td.tableblock {
|
489
|
+
border-width: 1px;
|
490
|
+
padding: 4px;
|
491
|
+
border-style: solid;
|
492
|
+
border-color: #527bbd;
|
493
|
+
}
|
494
|
+
|
495
|
+
table.tableblock.frame-topbot {
|
496
|
+
border-left-style: hidden;
|
497
|
+
border-right-style: hidden;
|
498
|
+
}
|
499
|
+
table.tableblock.frame-sides {
|
500
|
+
border-top-style: hidden;
|
501
|
+
border-bottom-style: hidden;
|
502
|
+
}
|
503
|
+
table.tableblock.frame-none {
|
504
|
+
border-style: hidden;
|
505
|
+
}
|
506
|
+
|
507
|
+
th.tableblock.halign-left, td.tableblock.halign-left {
|
508
|
+
text-align: left;
|
509
|
+
}
|
510
|
+
th.tableblock.halign-center, td.tableblock.halign-center {
|
511
|
+
text-align: center;
|
512
|
+
}
|
513
|
+
th.tableblock.halign-right, td.tableblock.halign-right {
|
514
|
+
text-align: right;
|
515
|
+
}
|
516
|
+
|
517
|
+
th.tableblock.valign-top, td.tableblock.valign-top {
|
518
|
+
vertical-align: top;
|
519
|
+
}
|
520
|
+
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
521
|
+
vertical-align: middle;
|
522
|
+
}
|
523
|
+
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
524
|
+
vertical-align: bottom;
|
525
|
+
}
|
526
|
+
|
527
|
+
|
528
|
+
/*
|
529
|
+
* Theme specific overrides of the preceding (asciidoc.css) CSS.
|
530
|
+
*
|
531
|
+
*/
|
532
|
+
body {
|
533
|
+
font-family: Garamond, Georgia, serif;
|
534
|
+
font-size: 17px;
|
535
|
+
color: #3E4349;
|
536
|
+
line-height: 1.3em;
|
537
|
+
}
|
538
|
+
h1, h2, h3, h4, h5, h6,
|
539
|
+
div.title, caption.title,
|
540
|
+
thead, p.table.header,
|
541
|
+
#toctitle,
|
542
|
+
#author, #revnumber, #revdate, #revremark,
|
543
|
+
#footer {
|
544
|
+
font-family: Garmond, Georgia, serif;
|
545
|
+
font-weight: normal;
|
546
|
+
border-bottom-width: 0;
|
547
|
+
color: #3E4349;
|
548
|
+
}
|
549
|
+
div.title, caption.title { color: #596673; font-weight: bold; }
|
550
|
+
h1 { font-size: 240%; }
|
551
|
+
h2 { font-size: 180%; }
|
552
|
+
h3 { font-size: 150%; }
|
553
|
+
h4 { font-size: 130%; }
|
554
|
+
h5 { font-size: 100%; }
|
555
|
+
h6 { font-size: 100%; }
|
556
|
+
#header h1 { margin-top: 0; }
|
557
|
+
#toc {
|
558
|
+
color: #444444;
|
559
|
+
line-height: 1.5;
|
560
|
+
padding-top: 1.5em;
|
561
|
+
}
|
562
|
+
#toctitle {
|
563
|
+
font-size: 20px;
|
564
|
+
}
|
565
|
+
#toc a {
|
566
|
+
border-bottom: 1px dotted #999999;
|
567
|
+
color: #444444 !important;
|
568
|
+
text-decoration: none !important;
|
569
|
+
}
|
570
|
+
#toc a:hover {
|
571
|
+
border-bottom: 1px solid #6D4100;
|
572
|
+
color: #6D4100 !important;
|
573
|
+
text-decoration: none !important;
|
574
|
+
}
|
575
|
+
div.toclevel1 { margin-top: 0.2em; font-size: 16px; }
|
576
|
+
div.toclevel2 { margin-top: 0.15em; font-size: 14px; }
|
577
|
+
em, dt, td.hdlist1 { color: black; }
|
578
|
+
strong { color: #3E4349; }
|
579
|
+
a { color: #004B6B; text-decoration: none; border-bottom: 1px dotted #004B6B; }
|
580
|
+
a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; }
|
581
|
+
a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; }
|
582
|
+
div.tableblock > table, table.tableblock { border: 3px solid #E8E8E8; }
|
583
|
+
th.tableblock, td.tableblock { border: 1px solid #E8E8E8; }
|
584
|
+
ul > li > * { color: #3E4349; }
|
585
|
+
pre, tt, .monospaced { font-family: Consolas,Menlo,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace; }
|
586
|
+
tt, .monospaced { font-size: 0.9em; color: black;
|
587
|
+
}
|
588
|
+
div.exampleblock > div.content, div.sidebarblock > div.content, div.listingblock > div.content { border-width: 0 0 0 3px; border-color: #E8E8E8; }
|
589
|
+
div.verseblock { border-left-width: 0; margin-left: 3em; }
|
590
|
+
div.quoteblock { border-left-width: 3px; margin-left: 0; margin-right: 0;}
|
591
|
+
div.admonitionblock td.content { border-left: 3px solid #E8E8E8; }
|
386
592
|
</style>
|
387
593
|
<script type="text/javascript">
|
388
594
|
/*<![CDATA[*/
|
389
|
-
window.onload = function(){asciidoc.footnotes(); asciidoc.toc(3);}
|
390
595
|
var asciidoc = { // Namespace.
|
391
596
|
|
392
597
|
/////////////////////////////////////////////////////////////////////
|
@@ -448,6 +653,25 @@ toc: function (toclevels) {
|
|
448
653
|
}
|
449
654
|
|
450
655
|
var toc = document.getElementById("toc");
|
656
|
+
if (!toc) {
|
657
|
+
return;
|
658
|
+
}
|
659
|
+
|
660
|
+
// Delete existing TOC entries in case we're reloading the TOC.
|
661
|
+
var tocEntriesToRemove = [];
|
662
|
+
var i;
|
663
|
+
for (i = 0; i < toc.childNodes.length; i++) {
|
664
|
+
var entry = toc.childNodes[i];
|
665
|
+
if (entry.nodeName == 'DIV'
|
666
|
+
&& entry.getAttribute("class")
|
667
|
+
&& entry.getAttribute("class").match(/^toclevel/))
|
668
|
+
tocEntriesToRemove.push(entry);
|
669
|
+
}
|
670
|
+
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
671
|
+
toc.removeChild(tocEntriesToRemove[i]);
|
672
|
+
}
|
673
|
+
|
674
|
+
// Rebuild TOC entries.
|
451
675
|
var entries = tocEntries(document.getElementById("content"), toclevels);
|
452
676
|
for (var i = 0; i < entries.length; ++i) {
|
453
677
|
var entry = entries[i];
|
@@ -475,24 +699,44 @@ toc: function (toclevels) {
|
|
475
699
|
*/
|
476
700
|
|
477
701
|
footnotes: function () {
|
478
|
-
|
702
|
+
// Delete existing footnote entries in case we're reloading the footnodes.
|
703
|
+
var i;
|
479
704
|
var noteholder = document.getElementById("footnotes");
|
705
|
+
if (!noteholder) {
|
706
|
+
return;
|
707
|
+
}
|
708
|
+
var entriesToRemove = [];
|
709
|
+
for (i = 0; i < noteholder.childNodes.length; i++) {
|
710
|
+
var entry = noteholder.childNodes[i];
|
711
|
+
if (entry.nodeName == 'DIV' && entry.getAttribute("class") == "footnote")
|
712
|
+
entriesToRemove.push(entry);
|
713
|
+
}
|
714
|
+
for (i = 0; i < entriesToRemove.length; i++) {
|
715
|
+
noteholder.removeChild(entriesToRemove[i]);
|
716
|
+
}
|
717
|
+
|
718
|
+
// Rebuild footnote entries.
|
719
|
+
var cont = document.getElementById("content");
|
480
720
|
var spans = cont.getElementsByTagName("span");
|
481
721
|
var refs = {};
|
482
722
|
var n = 0;
|
483
723
|
for (i=0; i<spans.length; i++) {
|
484
724
|
if (spans[i].className == "footnote") {
|
485
725
|
n++;
|
486
|
-
|
487
|
-
|
488
|
-
|
726
|
+
var note = spans[i].getAttribute("data-note");
|
727
|
+
if (!note) {
|
728
|
+
// Use [\s\S] in place of . so multi-line matches work.
|
729
|
+
// Because JavaScript has no s (dotall) regex flag.
|
730
|
+
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
731
|
+
spans[i].innerHTML =
|
732
|
+
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
733
|
+
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
734
|
+
spans[i].setAttribute("data-note", note);
|
735
|
+
}
|
489
736
|
noteholder.innerHTML +=
|
490
737
|
"<div class='footnote' id='_footnote_" + n + "'>" +
|
491
738
|
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
492
739
|
n + "</a>. " + note + "</div>";
|
493
|
-
spans[i].innerHTML =
|
494
|
-
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
495
|
-
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
496
740
|
var id =spans[i].getAttribute("id");
|
497
741
|
if (id != null) refs["#"+id] = n;
|
498
742
|
}
|
@@ -512,9 +756,32 @@ footnotes: function () {
|
|
512
756
|
}
|
513
757
|
}
|
514
758
|
}
|
759
|
+
},
|
760
|
+
|
761
|
+
install: function(toclevels) {
|
762
|
+
var timerId;
|
763
|
+
|
764
|
+
function reinstall() {
|
765
|
+
asciidoc.footnotes();
|
766
|
+
if (toclevels) {
|
767
|
+
asciidoc.toc(toclevels);
|
768
|
+
}
|
769
|
+
}
|
770
|
+
|
771
|
+
function reinstallAndRemoveTimer() {
|
772
|
+
clearInterval(timerId);
|
773
|
+
reinstall();
|
774
|
+
}
|
775
|
+
|
776
|
+
timerId = setInterval(reinstall, 500);
|
777
|
+
if (document.addEventListener)
|
778
|
+
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
779
|
+
else
|
780
|
+
window.onload = reinstallAndRemoveTimer;
|
515
781
|
}
|
516
782
|
|
517
783
|
}
|
784
|
+
asciidoc.install(3);
|
518
785
|
/*]]>*/
|
519
786
|
</script>
|
520
787
|
</head>
|
@@ -531,7 +798,7 @@ footnotes: function () {
|
|
531
798
|
<div class="sectionbody">
|
532
799
|
<div class="paragraph"><p><span class="image">
|
533
800
|
<a class="image" href="http://www.phusion.nl/">
|
534
|
-
<img src="images/phusion_banner.png" alt="images/phusion_banner.png"
|
801
|
+
<img src="images/phusion_banner.png" alt="images/phusion_banner.png">
|
535
802
|
</a>
|
536
803
|
</span></p></div>
|
537
804
|
<div class="paragraph"><p>Phusion Passenger Standalone is a web server that allows one to run Ruby web applications.
|
@@ -570,8 +837,8 @@ Can listen on a Unix socket, for use in reverse proxy setups.
|
|
570
837
|
<h2 id="_installation">1. Installation</h2>
|
571
838
|
<div class="sectionbody">
|
572
839
|
<div class="listingblock">
|
573
|
-
<div class="content">
|
574
|
-
<pre
|
840
|
+
<div class="content monospaced">
|
841
|
+
<pre>gem install passenger</pre>
|
575
842
|
</div></div>
|
576
843
|
</div>
|
577
844
|
</div>
|
@@ -580,20 +847,20 @@ Can listen on a Unix socket, for use in reverse proxy setups.
|
|
580
847
|
<div class="sectionbody">
|
581
848
|
<div class="paragraph"><p>Go to your application’s root directory, and run:</p></div>
|
582
849
|
<div class="listingblock">
|
583
|
-
<div class="content">
|
584
|
-
<pre
|
850
|
+
<div class="content monospaced">
|
851
|
+
<pre>passenger start</pre>
|
585
852
|
</div></div>
|
586
853
|
<div class="paragraph"><p>This will start Phusion Passenger on port 3000. If you want to run it on a different port,
|
587
|
-
use the <
|
854
|
+
use the <span class="monospaced">-p</span> option, e.g.:</p></div>
|
588
855
|
<div class="listingblock">
|
589
|
-
<div class="content">
|
590
|
-
<pre
|
856
|
+
<div class="content monospaced">
|
857
|
+
<pre>sudo passenger start -p 80</pre>
|
591
858
|
</div></div>
|
592
|
-
<div class="paragraph"><p>See <
|
859
|
+
<div class="paragraph"><p>See <span class="monospaced">--help</span> for all available options.</p></div>
|
593
860
|
</div>
|
594
861
|
</div>
|
595
862
|
</div>
|
596
|
-
<div id="footnotes"><hr
|
863
|
+
<div id="footnotes"><hr></div>
|
597
864
|
<div id="footer">
|
598
865
|
<div id="footer-text">
|
599
866
|
Last updated 2010-12-05 20:52:52 CET
|