Maison  >  Article  >  développement back-end  >  Nginx 在 Windows 平台上编译

Nginx 在 Windows 平台上编译

WBOY
WBOYoriginal
2016-07-28 08:25:331082parcourir

在Windows平台上编译Nginx遇到一些问题, 最终都逐个解决了, 记录一下过程.

打开网址
http://nginx.org/en/download.html
其中 nginx/Windows-1.10.1 是直接下载编译好的Windows版本的二进制程序
而要下载源码需要使用 Mercurial 去 clone, 源代码地址是 http://hg.nginx.org/nginx

Mercurial 是一个源代码管理工具, 与 SVN 类似
他有Windows的版本, 在Windows环境下也能使用, 但是官网貌似打不开 https://www.mercurial-scm.org/
但可以在别的地方下载到它 如: http://www.onlinedown.net/soft/87736.htm
版本不一定最新, 但是能用
安装过程很简单, 为了方便起见, 可以允许将它的安装目录添加到Windows的环境变量PATH中

打开命令行, cd 到某个目录(用来存放和编译Nginx源码的位置), 执行
hg clone http://hg.nginx.org/nginx
开始下载源码, 看网速可能需要好几分钟
 Nginx 在 Windows 平台上编译

下面需要下载Nginx依赖的三个库, 分别是 PCRE, zlib 和 OpenSSL
Nginx 1.10.1 对应的第三方库的版本分别是
pcre-8.39.tar.gz
zlib-1.2.8.tar.gz
openssl-1.0.2h.tar.gz
基本上都能从sourceforge上获取, 或直接用搜索引擎去找download

然后需要在Nginx源码根目录下创建 “objs” 和 “objs/lib” 两级目录, 将以上三个库解压到 objs/lib 下
注: 这三个第三方库实际上也是源码形式, 并没有lib或dll, 都需要一起编译

然后需要执行配置, 命令是
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
但这个命令是无法直接在 Windows 命令行中执行的, 需要一个Linux环境, 方法便是使用 MinGW, 里面有一个MSYS 的工具, 类似 Linux 中的 bash
打开网站 http://www.mingw.org/wiki/MSYS 下载 MinGW 的 Installer, 注意: 这只是一个安装器
最终下载下来的文件是 mingw-get-setup.exe, 很小不到 1MB, 双击安装
需要注意的是, 安装路径可以修改, 但路径中不能有空格(中文应该也不行, 没试过)
 Nginx 在 Windows 平台上编译
真正的安装过程也不快,需要在线下载很多东西
安装完成, 点击 Continue 会直接打开一个管理界面
 Nginx 在 Windows 平台上编译
接下来勾选上 Basic Setup 里的 msys-base, 然后 Apply Changes, 开始安装msys
这个过程也不快, 需要等几分钟

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了 Nginx 在 Windows 平台上编译,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn