Home > Article > Backend Development > Nginx compiled on Windows platform
I encountered some problems when compiling Nginx on the Windows platform, and finally solved them one by one. Record the process.
Open the website
http://nginx.org/en/download.html
Among them, nginx/Windows-1.10.1 is a binary program that directly downloads the compiled Windows version
To download the source code, you need to use Mercurial to clone. The source code address is http://hg.nginx.org/nginx
Mercurial is a source code management tool, similar to SVN
It has a Windows version and can be used in a Windows environment, but the official website seems to be unable to open https://www.mercurial-scm.org/
But you can download it from other places such as: http://www.onlinedown.net/soft/87736.htm
The version may not be the latest, but it can be used
The installation process is very simple. For convenience, you can add its installation directory to the Windows environment variable PATH
Open the command line, cd to a certain directory (the location used to store and compile Nginx source code), and execute
hg clone http://hg.nginx.org/nginx
Start downloading the source code, it may take several minutes depending on the network speed
Next you need to download the three libraries that Nginx depends on, namely PCRE, zlib and OpenSSL
The corresponding third-party library versions of Nginx 1.10.1 are
pcre-8.39.tar.gz
zlib-1.2.8.tar.gz
openssl-1.0.2h.tar.gz
Basically, it can be obtained from sourceforge, or directly use the search engine to find the download
Then you need to create the "objs" and "objs/lib" two-level directories in the Nginx source code root directory, and extract the above three libraries to objs/ lib under
Note: These three third-party libraries are actually in source code form and do not have lib or dll. They all need to be compiled together
and then configuration needs to be executed. The command is
auto/configure –with-cc=cl –builddir=objs –prefix=
–conf-path=conf/nginx.conf –pid-path=logs/nginx.pid
–http-log-path=logs/access.log –error-log-path=logs/error.log
–sbin-path=nginx.exe –http-client-body-temp-path=temp/client_body_temp
–http-proxy-temp-path=temp/proxy_temp
–http-fastcgi-temp-path=temp/fastcgi_temp
–with-cc-opt=-DFD_SETSIZE=1024 –with-pcre=objs/lib/pcre-8.39
–with-zlib=objs/lib/zlib-1.2.8 –with-openssl=objs/lib/openssl-1.0.2h
–with-select_module –with-http_ssl_module –with-ipv6
But this command cannot be executed directly in the Windows command line. It requires a Linux environment. The method is to use MinGW, which has an MSYS tool, similar to bash in Linux
Open the website http://www.mingw.org/wiki/MSYS to download the MinGW Installer. Note: This is just an installer
The final downloaded file is mingw-get-setup.exe, which is less than 1MB. Double-click to install
It should be noted that the installation path can be modified, but there cannot be spaces in the path (it should not work in Chinese, I haven’t tried it)
The actual installation process is not fast and requires downloading a lot of things online
After the installation is complete, click Continue and a management interface will be opened directly
Next, check msys-base in Basic Setup, then Apply Changes to start installing msys
This process is not fast either, it takes a few minutes
The above introduces the compilation of Nginx on the Windows platform, including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.