annotate xml/en/docs/howto_build_on_win32.xml @ 2846:fdf1464e1977

Moved banner to the external file to make partial rollout possible. An idea is to have several banners and show them with different probability specified by split directive in the nginx.conf
author Sergey Budnevitch <sb@waeme.net>
date Tue, 10 May 2022 18:07:27 +0400
parents 06c7520f1181
children f55e18559df9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
1 <?xml version="1.0"?>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
2
580
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 461
diff changeset
3 <!--
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 461
diff changeset
4 Copyright (C) Nginx, Inc.
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 461
diff changeset
5 -->
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 461
diff changeset
6
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
7 <!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
8
853
d1446e47d17d Unified on the look of titles.
Ruslan Ermilov <ru@nginx.com>
parents: 700
diff changeset
9 <article name="Building nginx on the Win32 platform with Visual C"
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
10 link="/en/docs/howto_build_on_win32.html"
589
764fbac1b8b4 Added document revision.
Ruslan Ermilov <ru@nginx.com>
parents: 580
diff changeset
11 lang="en"
2821
06c7520f1181 Updated OpenSSL and PCRE versions used for win32 builds.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2764
diff changeset
12 rev="25">
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
13
121
49443032011c Unified <section> syntax for "article" and "module" documents.
Ruslan Ermilov <ru@nginx.com>
parents: 119
diff changeset
14 <section name="Prerequisites">
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
15
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
16 <para>
128
5530e24f9d58 * reg symbol replaced with 'registered' tags
Sergey Budnevitch <sb@waeme.net>
parents: 123
diff changeset
17 To build nginx on the <registered>Microsoft Win32</registered> platform you need:
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
18
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
19 <list type="bullet">
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
20
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
21 <listitem>
128
5530e24f9d58 * reg symbol replaced with 'registered' tags
Sergey Budnevitch <sb@waeme.net>
parents: 123
diff changeset
22 Microsoft Visual C compiler. <registered>Microsoft Visual Studio</registered>
5530e24f9d58 * reg symbol replaced with 'registered' tags
Sergey Budnevitch <sb@waeme.net>
parents: 123
diff changeset
23 8 and 10 are known to work.
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
24 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
25
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
26 <listitem>
2682
085dbe495d83 Updated link to MSYS.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2681
diff changeset
27 <link url="https://sourceforge.net/projects/mingw/files/MSYS/">MSYS</link> or
085dbe495d83 Updated link to MSYS.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2681
diff changeset
28 <link url="https://www.msys2.org">MSYS2</link>.
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
29 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
30
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
31 <listitem>
128
5530e24f9d58 * reg symbol replaced with 'registered' tags
Sergey Budnevitch <sb@waeme.net>
parents: 123
diff changeset
32 Perl, if you want to build <registered>OpenSSL</registered> and nginx with SSL support.
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
33 For example <link url="http://www.activestate.com/activeperl">ActivePerl</link>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
34 or <link url="http://strawberryperl.com">Strawberry Perl</link>.
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
35 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
36
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
37 <listitem>
1775
a469e77d446f Fixed links to Mercurial SCM site.
Ruslan Ermilov <ru@nginx.com>
parents: 1749
diff changeset
38 <link url="https://www.mercurial-scm.org">Mercurial</link> client.
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
39 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
40
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
41 <listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
42 <link url="http://www.pcre.org">PCRE</link>, <link url="http://zlib.net">zlib</link>
118
b2462c2e2e47 o OpenSSL, Visual Studio, Subversion, Win32 are trademarks.
Maxim Konovalov <maxim@nginx.com>
parents: 117
diff changeset
43 and <link url="http://www.openssl.org">OpenSSL</link> libraries sources.
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
44 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
45 </list>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
46
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
47 </para>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
48
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
49 </section>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
50
121
49443032011c Unified <section> syntax for "article" and "module" documents.
Ruslan Ermilov <ru@nginx.com>
parents: 119
diff changeset
51 <section id="build_steps"
49443032011c Unified <section> syntax for "article" and "module" documents.
Ruslan Ermilov <ru@nginx.com>
parents: 119
diff changeset
52 name="Build steps">
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
53
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
54 <para>
889
675f5c67b45c Source code repository switch to Mercurial.
Maxim Dounin <mdounin@mdounin.ru>
parents: 859
diff changeset
55 Ensure that paths to Perl, Mercurial and MSYS bin directories are added to
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
56 PATH environment variable before you start build. To set Visual C environment
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
57 run vcvarsall.bat script from Visual C directory.
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
58 </para>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
59
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
60 <para>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
61
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
62 To build nginx:
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
63 <list type="bullet">
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
64
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
65 <listitem>
128
5530e24f9d58 * reg symbol replaced with 'registered' tags
Sergey Budnevitch <sb@waeme.net>
parents: 123
diff changeset
66 Start MSYS bash.
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
67 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
68
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
69 <listitem>
889
675f5c67b45c Source code repository switch to Mercurial.
Maxim Dounin <mdounin@mdounin.ru>
parents: 859
diff changeset
70 Check out nginx sources from the hg.nginx.org repository. For example:
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
71 <programlisting>
889
675f5c67b45c Source code repository switch to Mercurial.
Maxim Dounin <mdounin@mdounin.ru>
parents: 859
diff changeset
72 hg clone http://hg.nginx.org/nginx
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
73 </programlisting>
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
74 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
75
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
76 <listitem>
119
0c565b407027 s/openssl/OpenSSL/
Maxim Konovalov <maxim@nginx.com>
parents: 118
diff changeset
77 Create a build and lib directories, and unpack zlib, PCRE and OpenSSL libraries
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
78 sources into lib directory:
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
79 <programlisting>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
80 mkdir objs
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
81 mkdir objs/lib
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
82 cd objs/lib
2821
06c7520f1181 Updated OpenSSL and PCRE versions used for win32 builds.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2764
diff changeset
83 tar -xzf ../../pcre2-10.39.tar.gz
1894
d011ffde3760 Updated zlib and PCRE versions.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1822
diff changeset
84 tar -xzf ../../zlib-1.2.11.tar.gz
2821
06c7520f1181 Updated OpenSSL and PCRE versions used for win32 builds.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2764
diff changeset
85 tar -xzf ../../openssl-1.1.1m.tar.gz
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
86 </programlisting>
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
87 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
88
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
89 <listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
90 Run configure script:
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
91 <programlisting>
2060
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
92 auto/configure \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
93 --with-cc=cl \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
94 --with-debug \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
95 --prefix= \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
96 --conf-path=conf/nginx.conf \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
97 --pid-path=logs/nginx.pid \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
98 --http-log-path=logs/access.log \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
99 --error-log-path=logs/error.log \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
100 --sbin-path=nginx.exe \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
101 --http-client-body-temp-path=temp/client_body_temp \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
102 --http-proxy-temp-path=temp/proxy_temp \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
103 --http-fastcgi-temp-path=temp/fastcgi_temp \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
104 --http-scgi-temp-path=temp/scgi_temp \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
105 --http-uwsgi-temp-path=temp/uwsgi_temp \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
106 --with-cc-opt=-DFD_SETSIZE=1024 \
2821
06c7520f1181 Updated OpenSSL and PCRE versions used for win32 builds.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2764
diff changeset
107 --with-pcre=objs/lib/pcre2-10.39 \
2060
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
108 --with-zlib=objs/lib/zlib-1.2.11 \
2821
06c7520f1181 Updated OpenSSL and PCRE versions used for win32 builds.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2764
diff changeset
109 --with-openssl=objs/lib/openssl-1.1.1m \
2060
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
110 --with-openssl-opt=no-asm \
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
111 --with-http_ssl_module
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
112 </programlisting>
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
113 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
114
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
115 <listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
116 Run make:
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
117 <programlisting>
2060
237b67ef69a6 Improved win32 build instructions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2018
diff changeset
118 nmake
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
119 </programlisting>
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
120 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
121
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
122
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
123 </list>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
124
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
125 </para>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
126
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
127 </section>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
128
121
49443032011c Unified <section> syntax for "article" and "module" documents.
Ruslan Ermilov <ru@nginx.com>
parents: 119
diff changeset
129 <section id="see_also"
49443032011c Unified <section> syntax for "article" and "module" documents.
Ruslan Ermilov <ru@nginx.com>
parents: 119
diff changeset
130 name="See also">
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
131
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
132 <para>
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
133 <list type="bullet">
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
134
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
135 <listitem>
374
a413dffb0557 Replaced "a href" with "link doc" / "link url".
Ruslan Ermilov <ru@nginx.com>
parents: 221
diff changeset
136 <link doc="windows.xml"/>
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 374
diff changeset
137 </listitem>
113
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
138
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
139 </list>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
140 </para>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
141
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
142 </section>
f9fe7330f8e8 Win32 build instructions added
Sergey Budnevitch <sb@waeme.net>
parents:
diff changeset
143 </article>