passenger 4.0.48 → 4.0.49

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (218) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/.editorconfig +36 -2
  5. data/.travis.yml +1 -1
  6. data/CHANGELOG +16 -0
  7. data/Rakefile +0 -1
  8. data/build/apache2.rb +4 -4
  9. data/build/common_library.rb +18 -18
  10. data/build/cplusplus_support.rb +2 -2
  11. data/build/documentation.rb +1 -1
  12. data/build/integration_tests.rb +12 -4
  13. data/build/misc.rb +12 -7
  14. data/build/packaging.rb +14 -14
  15. data/build/preprocessor.rb +10 -10
  16. data/build/rake_extensions.rb +11 -11
  17. data/build/ruby_extension.rb +2 -2
  18. data/dev/ci/inituidgid +24 -0
  19. data/dev/ci/run_jenkins.sh +57 -0
  20. data/dev/ci/run_rpm_tests.sh +77 -0
  21. data/dev/{run_travis.sh → ci/run_travis.sh} +60 -4
  22. data/doc/Users guide Nginx.txt +2 -2
  23. data/doc/users_guide_snippets/environment_variables.txt +0 -2
  24. data/doc/users_guide_snippets/tips.txt +20 -1
  25. data/ext/apache2/Bucket.cpp +18 -18
  26. data/ext/apache2/Bucket.h +4 -4
  27. data/ext/apache2/Configuration.cpp +7 -7
  28. data/ext/apache2/Configuration.hpp +43 -43
  29. data/ext/apache2/DirectoryMapper.h +5 -5
  30. data/ext/apache2/Hooks.cpp +142 -142
  31. data/ext/apache2/MergeDirConfig.cpp +40 -40
  32. data/ext/common/Account.h +17 -17
  33. data/ext/common/AccountsDatabase.h +9 -9
  34. data/ext/common/AgentsStarter.cpp +2 -2
  35. data/ext/common/AgentsStarter.h +40 -40
  36. data/ext/common/ApplicationPool2/Common.h +10 -6
  37. data/ext/common/ApplicationPool2/ComponentInfo.h +2 -2
  38. data/ext/common/ApplicationPool2/DirectSpawner.h +17 -17
  39. data/ext/common/ApplicationPool2/DummySpawner.h +5 -5
  40. data/ext/common/ApplicationPool2/Group.h +54 -38
  41. data/ext/common/ApplicationPool2/Implementation.cpp +76 -49
  42. data/ext/common/ApplicationPool2/Options.h +98 -91
  43. data/ext/common/ApplicationPool2/Pool.h +70 -69
  44. data/ext/common/ApplicationPool2/Process.h +21 -21
  45. data/ext/common/ApplicationPool2/Session.h +11 -11
  46. data/ext/common/ApplicationPool2/SmartSpawner.h +60 -60
  47. data/ext/common/ApplicationPool2/Socket.h +19 -19
  48. data/ext/common/ApplicationPool2/Spawner.h +64 -72
  49. data/ext/common/ApplicationPool2/SpawnerFactory.h +4 -4
  50. data/ext/common/ApplicationPool2/SuperGroup.h +41 -41
  51. data/ext/common/BackgroundEventLoop.cpp +1 -1
  52. data/ext/common/BackgroundEventLoop.h +2 -2
  53. data/ext/common/Constants.h +1 -1
  54. data/ext/common/EventedBufferedInput.h +5 -5
  55. data/ext/common/EventedClient.h +51 -51
  56. data/ext/common/EventedMessageServer.h +39 -39
  57. data/ext/common/EventedServer.h +32 -32
  58. data/ext/common/Exceptions.h +23 -23
  59. data/ext/common/FileDescriptor.h +18 -18
  60. data/ext/common/Logging.cpp +1 -1
  61. data/ext/common/MessageClient.h +27 -27
  62. data/ext/common/MessageReadersWriters.h +79 -79
  63. data/ext/common/MessageServer.h +59 -59
  64. data/ext/common/RandomGenerator.h +12 -12
  65. data/ext/common/ResourceLocator.h +8 -8
  66. data/ext/common/SafeLibev.h +54 -25
  67. data/ext/common/ServerInstanceDir.h +31 -31
  68. data/ext/common/StaticString.h +50 -48
  69. data/ext/common/Utils.cpp +73 -78
  70. data/ext/common/Utils.h +6 -6
  71. data/ext/common/Utils/Base64.cpp +3 -3
  72. data/ext/common/Utils/Base64.h +7 -7
  73. data/ext/common/Utils/BlockingQueue.h +9 -9
  74. data/ext/common/Utils/BufferedIO.h +17 -17
  75. data/ext/common/Utils/CachedFileStat.hpp +16 -16
  76. data/ext/common/Utils/Dechunker.h +25 -25
  77. data/ext/common/Utils/FileChangeChecker.h +10 -10
  78. data/ext/common/Utils/MemZeroGuard.h +5 -5
  79. data/ext/common/Utils/MemoryBarrier.h +1 -1
  80. data/ext/common/Utils/MessageIO.h +61 -61
  81. data/ext/common/Utils/ProcessMetricsCollector.h +40 -40
  82. data/ext/common/Utils/ScopeGuard.h +7 -7
  83. data/ext/common/Utils/SpeedMeter.h +1 -1
  84. data/ext/common/Utils/StrIntUtils.cpp +13 -13
  85. data/ext/common/Utils/StrIntUtils.h +3 -3
  86. data/ext/common/Utils/StringScanning.h +5 -5
  87. data/ext/common/Utils/SystemMetricsCollector.h +2 -2
  88. data/ext/common/Utils/SystemTime.h +10 -10
  89. data/ext/common/Utils/Template.h +2 -2
  90. data/ext/common/Utils/Timer.h +6 -6
  91. data/ext/common/Utils/VariantMap.h +29 -29
  92. data/ext/common/agents/Base.cpp +19 -19
  93. data/ext/common/agents/HelperAgent/AgentOptions.h +1 -1
  94. data/ext/common/agents/HelperAgent/FileBackedPipe.h +6 -6
  95. data/ext/common/agents/HelperAgent/Main.cpp +44 -43
  96. data/ext/common/agents/HelperAgent/RequestHandler.cpp +4 -4
  97. data/ext/common/agents/HelperAgent/RequestHandler.h +29 -28
  98. data/ext/common/agents/HelperAgent/ScgiRequestParser.h +56 -50
  99. data/ext/common/agents/LoggingAgent/AdminController.h +8 -8
  100. data/ext/common/agents/LoggingAgent/DataStoreId.h +17 -17
  101. data/ext/common/agents/LoggingAgent/FilterSupport.h +167 -167
  102. data/ext/common/agents/LoggingAgent/LoggingServer.h +122 -122
  103. data/ext/common/agents/LoggingAgent/Main.cpp +7 -7
  104. data/ext/common/agents/LoggingAgent/RemoteSender.h +54 -54
  105. data/ext/common/agents/SpawnPreparer.cpp +4 -4
  106. data/ext/common/agents/TempDirToucher.c +2 -2
  107. data/ext/common/agents/Watchdog/AgentWatcher.cpp +47 -47
  108. data/ext/common/agents/Watchdog/HelperAgentWatcher.cpp +7 -7
  109. data/ext/common/agents/Watchdog/LoggingAgentWatcher.cpp +7 -7
  110. data/ext/common/agents/Watchdog/Main.cpp +22 -22
  111. data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +9 -9
  112. data/ext/libeio/eio.c +1 -1
  113. data/ext/nginx/Configuration.c +30 -30
  114. data/ext/nginx/Configuration.h +1 -1
  115. data/ext/nginx/ContentHandler.c +54 -54
  116. data/ext/nginx/ContentHandler.h +3 -3
  117. data/ext/nginx/StaticContentHandler.c +2 -2
  118. data/ext/nginx/ngx_http_passenger_module.c +21 -21
  119. data/ext/oxt/detail/backtrace_enabled.hpp +1 -1
  120. data/ext/oxt/detail/context.hpp +1 -1
  121. data/ext/oxt/detail/spin_lock_darwin.hpp +4 -4
  122. data/ext/oxt/detail/spin_lock_gcc_x86.hpp +3 -3
  123. data/ext/oxt/detail/spin_lock_pthreads.hpp +4 -4
  124. data/ext/oxt/detail/tracable_exception_disabled.hpp +1 -1
  125. data/ext/oxt/dynamic_thread_group.hpp +18 -18
  126. data/ext/oxt/implementation.cpp +9 -8
  127. data/ext/oxt/macros.hpp +2 -2
  128. data/ext/oxt/system_calls.cpp +11 -11
  129. data/ext/oxt/system_calls.hpp +13 -13
  130. data/ext/oxt/thread.hpp +22 -14
  131. data/ext/ruby/passenger_native_support.c +55 -55
  132. data/lib/phusion_passenger.rb +24 -24
  133. data/lib/phusion_passenger/common_library.rb +2 -0
  134. data/lib/phusion_passenger/loader_shared_helpers.rb +18 -18
  135. data/lib/phusion_passenger/packaging.rb +9 -4
  136. data/lib/phusion_passenger/platform_info/apache.rb +45 -31
  137. data/lib/phusion_passenger/platform_info/compiler.rb +11 -11
  138. data/lib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
  139. data/lib/phusion_passenger/request_handler/thread_handler.rb +8 -8
  140. data/lib/phusion_passenger/standalone/app_finder.rb +16 -16
  141. data/lib/phusion_passenger/standalone/command.rb +22 -22
  142. data/packaging/rpm/LICENSE.txt +19 -0
  143. data/packaging/rpm/Makefile +13 -0
  144. data/packaging/rpm/README.md +41 -0
  145. data/packaging/rpm/Vagrantfile +38 -0
  146. data/{rpm/Vagrantfile → packaging/rpm/Vagrantfile.centos} +0 -0
  147. data/packaging/rpm/build +170 -0
  148. data/packaging/rpm/create_project +41 -0
  149. data/packaging/rpm/git_update +88 -0
  150. data/packaging/rpm/image/Dockerfile +37 -0
  151. data/packaging/rpm/image/Gemfile +3 -0
  152. data/packaging/rpm/image/Gemfile.lock +12 -0
  153. data/packaging/rpm/image/RPM-GPG-KEY-amazon-ga +19 -0
  154. data/packaging/rpm/image/amazon2014-i386.cfg +96 -0
  155. data/packaging/rpm/image/amazon2014-x86_64.cfg +96 -0
  156. data/packaging/rpm/image/site-defaults.cfg +168 -0
  157. data/packaging/rpm/internal/build_tasks.rb +238 -0
  158. data/packaging/rpm/internal/dummygpg +11 -0
  159. data/packaging/rpm/internal/exec_build +42 -0
  160. data/packaging/rpm/internal/get_distro_arch +14 -0
  161. data/packaging/rpm/internal/get_distro_id +10 -0
  162. data/packaging/rpm/internal/git_update +27 -0
  163. data/packaging/rpm/internal/inituidgid +17 -0
  164. data/packaging/rpm/internal/my_init +344 -0
  165. data/packaging/rpm/internal/python27 +3 -0
  166. data/packaging/rpm/internal/repo_update +46 -0
  167. data/packaging/rpm/internal/setuser +26 -0
  168. data/packaging/rpm/internal/tracking_helper +40 -0
  169. data/packaging/rpm/jenkins_release +99 -0
  170. data/packaging/rpm/lib/build_tasks_support.rb +402 -0
  171. data/packaging/rpm/lib/preprocessor.rb +341 -0
  172. data/packaging/rpm/nginx_spec/404.html +119 -0
  173. data/packaging/rpm/nginx_spec/50x.html +119 -0
  174. data/packaging/rpm/nginx_spec/index.html +116 -0
  175. data/packaging/rpm/nginx_spec/nginx-auto-cc-gcc.patch +13 -0
  176. data/packaging/rpm/nginx_spec/nginx-logo.png +0 -0
  177. data/packaging/rpm/nginx_spec/nginx-upgrade +13 -0
  178. data/packaging/rpm/nginx_spec/nginx-upgrade.8 +151 -0
  179. data/packaging/rpm/nginx_spec/nginx.conf +131 -0
  180. data/packaging/rpm/nginx_spec/nginx.init +144 -0
  181. data/packaging/rpm/nginx_spec/nginx.logrotate +13 -0
  182. data/packaging/rpm/nginx_spec/nginx.service +15 -0
  183. data/packaging/rpm/nginx_spec/nginx.spec.template +559 -0
  184. data/packaging/rpm/nginx_spec/nginx.sysconfig +4 -0
  185. data/packaging/rpm/nginx_spec/passenger.conf +9 -0
  186. data/packaging/rpm/nginx_spec/poweredby.png +0 -0
  187. data/{rpm → packaging/rpm/passenger_spec}/apache-passenger.conf.in +0 -0
  188. data/{rpm → packaging/rpm/passenger_spec}/config.json +0 -0
  189. data/{rpm → packaging/rpm/passenger_spec}/passenger.logrotate +0 -0
  190. data/{rpm → packaging/rpm/passenger_spec}/passenger.spec.template +58 -31
  191. data/{rpm → packaging/rpm/passenger_spec}/passenger_dynamic_thread_group.patch +0 -0
  192. data/{rpm → packaging/rpm/passenger_spec}/passenger_tests_default_config_example.patch +0 -0
  193. data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +0 -0
  194. data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch +0 -0
  195. data/packaging/rpm/repo_update +114 -0
  196. data/packaging/rpm/setup-system +60 -0
  197. data/packaging/rpm/shell +10 -0
  198. data/resources/templates/standalone/config.erb +3 -1
  199. data/test/config.json.rpm-automation +1 -1
  200. data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +11 -11
  201. data/test/cxx/ApplicationPool2/OptionsTest.cpp +5 -5
  202. data/test/cxx/ApplicationPool2/PoolTest.cpp +129 -89
  203. data/test/cxx/ApplicationPool2/ProcessTest.cpp +15 -15
  204. data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +22 -22
  205. data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +11 -11
  206. data/test/cxx/ScgiRequestParserTest.cpp +75 -61
  207. data/test/cxx/UtilsTest.cpp +86 -85
  208. data/test/gdbinit.example +3 -0
  209. data/test/integration_tests/nginx_tests.rb +3 -3
  210. data/test/integration_tests/source_packaging_test.rb +3 -1
  211. data/test/stub/nginx/nginx.conf.erb +8 -1
  212. data/test/support/nginx_controller.rb +7 -7
  213. metadata +62 -17
  214. metadata.gz.asc +7 -7
  215. data/build/rpm.rb +0 -128
  216. data/dev/rpmtool +0 -21
  217. data/dev/test_rpm_packaging.sh +0 -28
  218. data/rpm/get_distro_id.py +0 -4
@@ -0,0 +1,119 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+ <head>
5
+ <title>The page is temporarily unavailable</title>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
7
+ <style type="text/css">
8
+ /*<![CDATA[*/
9
+ body {
10
+ background-color: #fff;
11
+ color: #000;
12
+ font-size: 0.9em;
13
+ font-family: sans-serif,helvetica;
14
+ margin: 0;
15
+ padding: 0;
16
+ }
17
+ :link {
18
+ color: #c00;
19
+ }
20
+ :visited {
21
+ color: #c00;
22
+ }
23
+ a:hover {
24
+ color: #f50;
25
+ }
26
+ h1 {
27
+ text-align: center;
28
+ margin: 0;
29
+ padding: 0.6em 2em 0.4em;
30
+ background-color: #294172;
31
+ color: #fff;
32
+ font-weight: normal;
33
+ font-size: 1.75em;
34
+ border-bottom: 2px solid #000;
35
+ }
36
+ h1 strong {
37
+ font-weight: bold;
38
+ font-size: 1.5em;
39
+ }
40
+ h2 {
41
+ text-align: center;
42
+ background-color: #3C6EB4;
43
+ font-size: 1.1em;
44
+ font-weight: bold;
45
+ color: #fff;
46
+ margin: 0;
47
+ padding: 0.5em;
48
+ border-bottom: 2px solid #294172;
49
+ }
50
+ h3 {
51
+ text-align: center;
52
+ background-color: #ff0000;
53
+ padding: 0.5em;
54
+ color: #fff;
55
+ }
56
+ hr {
57
+ display: none;
58
+ }
59
+ .content {
60
+ padding: 1em 5em;
61
+ }
62
+ .alert {
63
+ border: 2px solid #000;
64
+ }
65
+
66
+ img {
67
+ border: 2px solid #fff;
68
+ padding: 2px;
69
+ margin: 2px;
70
+ }
71
+ a:hover img {
72
+ border: 2px solid #294172;
73
+ }
74
+ .logos {
75
+ margin: 1em;
76
+ text-align: center;
77
+ }
78
+ /*]]>*/
79
+ </style>
80
+ </head>
81
+
82
+ <body>
83
+ <h1><strong>nginx error!</strong></h1>
84
+
85
+ <div class="content">
86
+
87
+ <h3>The page you are looking for is temporarily unavailable. Please try again later.</h3>
88
+
89
+ <div class="alert">
90
+ <h2>Website Administrator</h2>
91
+ <div class="content">
92
+ <p>Something has triggered an error on your
93
+ website. This is the default error page for
94
+ <strong>nginx</strong> that is distributed with
95
+ Fedora. It is located
96
+ <tt>/usr/share/nginx/html/50x.html</tt></p>
97
+
98
+ <p>You should customize this error page for your own
99
+ site or edit the <tt>error_page</tt> directive in
100
+ the <strong>nginx</strong> configuration file
101
+ <tt>/etc/nginx/nginx.conf</tt>.</p>
102
+
103
+ </div>
104
+ </div>
105
+
106
+ <div class="logos">
107
+ <a href="http://nginx.net/"><img
108
+ src="nginx-logo.png"
109
+ alt="[ Powered by nginx ]"
110
+ width="121" height="32" /></a>
111
+
112
+ <a href="http://fedoraproject.org/"><img
113
+ src="poweredby.png"
114
+ alt="[ Powered by Fedora ]"
115
+ width="88" height="31" /></a>
116
+ </div>
117
+ </div>
118
+ </body>
119
+ </html>
@@ -0,0 +1,116 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+ <head>
5
+ <title>Test Page for the Nginx HTTP Server on Fedora</title>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
7
+ <style type="text/css">
8
+ /*<![CDATA[*/
9
+ body {
10
+ background-color: #fff;
11
+ color: #000;
12
+ font-size: 0.9em;
13
+ font-family: sans-serif,helvetica;
14
+ margin: 0;
15
+ padding: 0;
16
+ }
17
+ :link {
18
+ color: #c00;
19
+ }
20
+ :visited {
21
+ color: #c00;
22
+ }
23
+ a:hover {
24
+ color: #f50;
25
+ }
26
+ h1 {
27
+ text-align: center;
28
+ margin: 0;
29
+ padding: 0.6em 2em 0.4em;
30
+ background-color: #294172;
31
+ color: #fff;
32
+ font-weight: normal;
33
+ font-size: 1.75em;
34
+ border-bottom: 2px solid #000;
35
+ }
36
+ h1 strong {
37
+ font-weight: bold;
38
+ font-size: 1.5em;
39
+ }
40
+ h2 {
41
+ text-align: center;
42
+ background-color: #3C6EB4;
43
+ font-size: 1.1em;
44
+ font-weight: bold;
45
+ color: #fff;
46
+ margin: 0;
47
+ padding: 0.5em;
48
+ border-bottom: 2px solid #294172;
49
+ }
50
+ hr {
51
+ display: none;
52
+ }
53
+ .content {
54
+ padding: 1em 5em;
55
+ }
56
+ .alert {
57
+ border: 2px solid #000;
58
+ }
59
+
60
+ img {
61
+ border: 2px solid #fff;
62
+ padding: 2px;
63
+ margin: 2px;
64
+ }
65
+ a:hover img {
66
+ border: 2px solid #294172;
67
+ }
68
+ .logos {
69
+ margin: 1em;
70
+ text-align: center;
71
+ }
72
+ /*]]>*/
73
+ </style>
74
+ </head>
75
+
76
+ <body>
77
+ <h1>Welcome to <strong>nginx</strong> on Fedora!</h1>
78
+
79
+ <div class="content">
80
+ <p>This page is used to test the proper operation of the
81
+ <strong>nginx</strong> HTTP server after it has been
82
+ installed. If you can read this page, it means that the
83
+ web server installed at this site is working
84
+ properly.</p>
85
+
86
+ <div class="alert">
87
+ <h2>Website Administrator</h2>
88
+ <div class="content">
89
+ <p>This is the default <tt>index.html</tt> page that
90
+ is distributed with <strong>nginx</strong> on
91
+ Fedora. It is located in
92
+ <tt>/usr/share/nginx/html</tt>.</p>
93
+
94
+ <p>You should now put your content in a location of
95
+ your choice and edit the <tt>root</tt> configuration
96
+ directive in the <strong>nginx</strong>
97
+ configuration file
98
+ <tt>/etc/nginx/nginx.conf</tt>.</p>
99
+
100
+ </div>
101
+ </div>
102
+
103
+ <div class="logos">
104
+ <a href="http://nginx.net/"><img
105
+ src="nginx-logo.png"
106
+ alt="[ Powered by nginx ]"
107
+ width="121" height="32" /></a>
108
+
109
+ <a href="http://fedoraproject.org/"><img
110
+ src="poweredby.png"
111
+ alt="[ Powered by Fedora ]"
112
+ width="88" height="31" /></a>
113
+ </div>
114
+ </div>
115
+ </body>
116
+ </html>
@@ -0,0 +1,13 @@
1
+ --- auto/cc/gcc.orig 2007-03-22 08:34:53.000000000 -0600
2
+ +++ auto/cc/gcc 2007-03-22 08:58:47.000000000 -0600
3
+ @@ -172,7 +172,9 @@
4
+
5
+
6
+ # stop on warning
7
+ -CFLAGS="$CFLAGS -Werror"
8
+ +# This combined with Fedora's FORTIFY_SOURCE=2 option causes it nginx
9
+ +# to not compile.
10
+ +#CFLAGS="$CFLAGS -Werror"
11
+
12
+ # debug
13
+ CFLAGS="$CFLAGS -g"
@@ -0,0 +1,13 @@
1
+ #!/bin/sh
2
+ [ ! -f /run/nginx.pid ] && exit 1
3
+ echo "Start new nginx master..."
4
+ /bin/systemctl kill --signal=SIGUSR2 nginx.service
5
+ sleep 5
6
+ [ ! -f /run/nginx.pid.oldbin ] && sleep 5
7
+ if [ ! -f /run/nginx.pid.oldbin ]; then
8
+ echo "Failed to start new nginx master."
9
+ exit 1
10
+ fi
11
+ echo "Stop old nginx master gracefully..."
12
+ oldpid=`cat /run/nginx.pid.oldbin 2>/dev/null`
13
+ /bin/kill -s QUIT $oldpid 2>/dev/null
@@ -0,0 +1,151 @@
1
+ .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
2
+ .\"
3
+ .\" Standard preamble:
4
+ .\" ========================================================================
5
+ .de Sp \" Vertical space (when we can't use .PP)
6
+ .if t .sp .5v
7
+ .if n .sp
8
+ ..
9
+ .de Vb \" Begin verbatim text
10
+ .ft CW
11
+ .nf
12
+ .ne \\$1
13
+ ..
14
+ .de Ve \" End verbatim text
15
+ .ft R
16
+ .fi
17
+ ..
18
+ .\" Set up some character translations and predefined strings. \*(-- will
19
+ .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20
+ .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21
+ .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22
+ .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23
+ .\" nothing in troff, for use with C<>.
24
+ .tr \(*W-
25
+ .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26
+ .ie n \{\
27
+ . ds -- \(*W-
28
+ . ds PI pi
29
+ . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30
+ . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31
+ . ds L" ""
32
+ . ds R" ""
33
+ . ds C` ""
34
+ . ds C' ""
35
+ 'br\}
36
+ .el\{\
37
+ . ds -- \|\(em\|
38
+ . ds PI \(*p
39
+ . ds L" ``
40
+ . ds R" ''
41
+ 'br\}
42
+ .\"
43
+ .\" Escape single quotes in literal strings from groff's Unicode transform.
44
+ .ie \n(.g .ds Aq \(aq
45
+ .el .ds Aq '
46
+ .\"
47
+ .\" If the F register is turned on, we'll generate index entries on stderr for
48
+ .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49
+ .\" entries marked with X<> in POD. Of course, you'll have to process the
50
+ .\" output yourself in some meaningful fashion.
51
+ .ie \nF \{\
52
+ . de IX
53
+ . tm Index:\\$1\t\\n%\t"\\$2"
54
+ ..
55
+ . nr % 0
56
+ . rr F
57
+ .\}
58
+ .el \{\
59
+ . de IX
60
+ ..
61
+ .\}
62
+ .\"
63
+ .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64
+ .\" Fear. Run. Save yourself. No user-serviceable parts.
65
+ . \" fudge factors for nroff and troff
66
+ .if n \{\
67
+ . ds #H 0
68
+ . ds #V .8m
69
+ . ds #F .3m
70
+ . ds #[ \f1
71
+ . ds #] \fP
72
+ .\}
73
+ .if t \{\
74
+ . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75
+ . ds #V .6m
76
+ . ds #F 0
77
+ . ds #[ \&
78
+ . ds #] \&
79
+ .\}
80
+ . \" simple accents for nroff and troff
81
+ .if n \{\
82
+ . ds ' \&
83
+ . ds ` \&
84
+ . ds ^ \&
85
+ . ds , \&
86
+ . ds ~ ~
87
+ . ds /
88
+ .\}
89
+ .if t \{\
90
+ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91
+ . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92
+ . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93
+ . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94
+ . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95
+ . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96
+ .\}
97
+ . \" troff and (daisy-wheel) nroff accents
98
+ .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99
+ .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100
+ .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101
+ .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102
+ .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103
+ .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104
+ .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105
+ .ds ae a\h'-(\w'a'u*4/10)'e
106
+ .ds Ae A\h'-(\w'A'u*4/10)'E
107
+ . \" corrections for vroff
108
+ .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109
+ .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110
+ . \" for low resolution devices (crt and lpr)
111
+ .if \n(.H>23 .if \n(.V>19 \
112
+ \{\
113
+ . ds : e
114
+ . ds 8 ss
115
+ . ds o a
116
+ . ds d- d\h'-1'\(ga
117
+ . ds D- D\h'-1'\(hy
118
+ . ds th \o'bp'
119
+ . ds Th \o'LP'
120
+ . ds ae ae
121
+ . ds Ae AE
122
+ .\}
123
+ .rm #[ #] #H #V #F C
124
+ .\" ========================================================================
125
+ .\"
126
+ .IX Title "NGINX-UPGRADE 8"
127
+ .TH NGINX-UPGRADE 8 "2012-10-28" " " " "
128
+ .\" For nroff, turn off justification. Always turn off hyphenation; it makes
129
+ .\" way too many mistakes in technical documents.
130
+ .if n .ad l
131
+ .nh
132
+ .SH "NAME"
133
+ nginx\-upgrade \- tool to upgrade nginx without any downtime
134
+ .SH "SYNOPSIS"
135
+ .IX Header "SYNOPSIS"
136
+ \&\fInginx-upgrade\fR
137
+ .SH "DESCRIPTION"
138
+ .IX Header "DESCRIPTION"
139
+ This downstream shell script updates nginx without any downtime. After
140
+ upgrading nginx via the package manager, running this script will create
141
+ a new nginx master. This master takes over all new requests. The old
142
+ masters and workers are then gracefully shutdown without breaking any
143
+ existing connections.
144
+ .PP
145
+ For further information, see: <http://nginx.org/en/docs/control.html>
146
+ .SH "BUGS"
147
+ .IX Header "BUGS"
148
+ If you find any bugs, please send an email to the author.
149
+ .SH "AUTHOR"
150
+ .IX Header "AUTHOR"
151
+ Jamie Nguyen <jamielinux@fedoraproject.org>
@@ -0,0 +1,131 @@
1
+ # For more information on configuration, see:
2
+ # * Official English Documentation: http://nginx.org/en/docs/
3
+ # * Official Russian Documentation: http://nginx.org/ru/docs/
4
+
5
+ user nginx;
6
+ worker_processes 1;
7
+
8
+ error_log /var/log/nginx/error.log;
9
+ #error_log /var/log/nginx/error.log notice;
10
+ #error_log /var/log/nginx/error.log info;
11
+
12
+ pid /var/run/nginx.pid;
13
+
14
+
15
+ events {
16
+ worker_connections 1024;
17
+ }
18
+
19
+
20
+ http {
21
+ include /etc/nginx/mime.types;
22
+ default_type application/octet-stream;
23
+
24
+ log_format main '$remote_addr - $remote_user [$time_local] "$request" '
25
+ '$status $body_bytes_sent "$http_referer" '
26
+ '"$http_user_agent" "$http_x_forwarded_for"';
27
+
28
+ access_log /var/log/nginx/access.log main;
29
+
30
+ sendfile on;
31
+ #tcp_nopush on;
32
+
33
+ #keepalive_timeout 0;
34
+ keepalive_timeout 65;
35
+
36
+ #gzip on;
37
+
38
+ # Load modular configuration files from the /etc/nginx/conf.d directory.
39
+ # See http://nginx.org/en/docs/ngx_core_module.html#include
40
+ # for more information.
41
+ include /etc/nginx/conf.d/*.conf;
42
+
43
+ server {
44
+ listen 80;
45
+ server_name localhost;
46
+
47
+ #charset koi8-r;
48
+
49
+ #access_log /var/log/nginx/host.access.log main;
50
+
51
+ location / {
52
+ root /usr/share/nginx/html;
53
+ index index.html index.htm;
54
+ }
55
+
56
+ # redirect server error pages to the static page /40x.html
57
+ #
58
+ error_page 404 /404.html;
59
+ location = /40x.html {
60
+ root /usr/share/nginx/html;
61
+ }
62
+
63
+ # redirect server error pages to the static page /50x.html
64
+ #
65
+ error_page 500 502 503 504 /50x.html;
66
+ location = /50x.html {
67
+ root /usr/share/nginx/html;
68
+ }
69
+
70
+ # proxy the PHP scripts to Apache listening on 127.0.0.1:80
71
+ #
72
+ #location ~ \.php$ {
73
+ # proxy_pass http://127.0.0.1;
74
+ #}
75
+
76
+ # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
77
+ #
78
+ #location ~ \.php$ {
79
+ # root html;
80
+ # fastcgi_pass 127.0.0.1:9000;
81
+ # fastcgi_index index.php;
82
+ # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
83
+ # include fastcgi_params;
84
+ #}
85
+
86
+ # deny access to .htaccess files, if Apache's document root
87
+ # concurs with nginx's one
88
+ #
89
+ #location ~ /\.ht {
90
+ # deny all;
91
+ #}
92
+ }
93
+
94
+
95
+ # another virtual host using mix of IP-, name-, and port-based configuration
96
+ #
97
+ #server {
98
+ # listen 8000;
99
+ # listen somename:8080;
100
+ # server_name somename alias another.alias;
101
+
102
+ # location / {
103
+ # root html;
104
+ # index index.html index.htm;
105
+ # }
106
+ #}
107
+
108
+
109
+ # HTTPS server
110
+ #
111
+ #server {
112
+ # listen 443;
113
+ # server_name localhost;
114
+
115
+ # ssl on;
116
+ # ssl_certificate cert.pem;
117
+ # ssl_certificate_key cert.key;
118
+
119
+ # ssl_session_timeout 5m;
120
+
121
+ # ssl_protocols SSLv2 SSLv3 TLSv1;
122
+ # ssl_ciphers HIGH:!aNULL:!MD5;
123
+ # ssl_prefer_server_ciphers on;
124
+
125
+ # location / {
126
+ # root html;
127
+ # index index.html index.htm;
128
+ # }
129
+ #}
130
+
131
+ }