Windows下从源码编译Nginx(学习笔记)

    • 在制作xServer集成环境Windows版过程中,发现官方编译版组件较少,故自行从源码编译了Nginx,下面为详细步骤。

      原文地址:http://www.anrip.com/post/1321

Nginx for Windows v1 5 9 source code Nginx是一款轻量级的Web服务器 反向代理服务器及电子邮件IMAP POP3)代理服务器 并在一个BSD like 协议下发行 Nginx由俄罗斯的程序设计师Igor Sysoev所开发 可供大型的门户网站及搜索引擎使用 Nginx是一个很强大的高性能Web和反向代理服务器 它具有很多非常优越的特性 Nginx可以在大多数 Unix like OS 上编译运行 在Linux和unix上分别采用epoll和kqueue网络模型 能够支持高达 50 000 个并发连接数的响应(实际上可能更大) Nginx支持与客户端建立SSL安全连接 因此可以作为SSL安全网关使用 NginxWindows移植版 在Windows平台上支持select和iocp两种网络IO模型 在Windows平台上 Nginx的表现可能没有在其它平台上那么优秀 从目前的版本看 Nginx主要有以下几点可能需要改进的地方: 1 Nginx采用多进程并行处理的运行方式 不支持多线程(似乎各平台下都不支持多线程) 2 在Windows下 只支持select和iocp两种网络IO模型 其中iocp模型虽然可以支持高并发连接 但目前版本的iocp只支持Web服务器(有的版本使用iocp作WEB服务器都跑不通) 不支持反向代理服务器 更不支持SSL连接;而select模型不能支持高并发连接 如果要实现高并发 必须使用非常多的进程 3 由于Windows vista之后版本的共享内存在不同进程中的地址不同 因此 在启用多进程时 不能使用共享内存来做SSL的session缓存 也就是说 要实现SSL 只能使用单进程 从而限制了并发连接数 (造成这种结果的原因 可能是作者对NginxWindows平台下的应用不太重视 在共享内存中使用了绝对地址指针 如果改成相对地址偏移则可避免) 笔者试图突破上面的限制 在 Nginx v1 5 9 的基础上作了三点改进: 1 完善iocp模型 使其能够支持代理服务器 2 增加wsa网络IO模型(Windows socket异步IO模型) 该模型支持WEB服务器 反向代理服务器和SSL安全连接 与Linux下的epoll具有同等的功能和效率 3 增加Windows和Linux平台下的多线程支持(Unix下尚未实现) 多线程可支持select epoll wsa和iocp网络IO模型 并支持SSL连接 通过上述改进 NginxWindows平台下的性能得到大幅提高 其并发连接数一般情况下可达到10万以上 最多可达到40万个 如何使用wsa网络IO模型 与使用iocp模型类似 在配置文件中 增加配置项: use wsa; 如何使用多线程 在配置文件中 增加配置项: worker threads 50; 线程数最大128 nginx v1 5 9 win src在vs2008环境下开发 笔者邮箱: xiong rh@sina com">Nginx for Windows v1 5 9 source code Nginx是一款轻量级的Web服务器 反向代理服务器及电子邮件IMAP POP3)代理服务器 并在一个BSD like 协议下发行 Nginx由俄罗斯的程序设计师Igor Sysoev所开发 可供大型的门户网站及搜索引擎使用 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值