> Windows 版 Nginx

Windows 版 nginx 使用本地 Win32 API(而非 Cygwin 仿真层)。当前仅使用select()poll()(1.15.9)连接处理方法,因此不应期望高性能和可伸缩性。由于这个原因和其他一些已知问题,适用于 Windows 的 Nginx 版本被认为是 Beta 版本。目前,除了 XSLT 过滤器,图像过滤器,GeoIP 模块和嵌入式 Perl 语言之外,它提供的功能几乎与 UNIX 版本的 nginx 相同。

要安装 nginx/Windows,请download最新的主线版本发行版(1.19.1),因为 nginx 的主线分支包含所有已知的修补程序。然后解压缩发行版,转到 nginx-1.19.1 目录,然后运行nginx。这是驱动器 C:根目录的示例:

cd c:\
unzip nginx-1.19.1.zip
cd nginx-1.19.1
start nginx

运行tasklist命令行 Util 以查看 nginx 进程:

C:\nginx-1.19.1>tasklist /fi "imagename eq nginx.exe"

Image Name           PID Session Name     Session#    Mem Usage
=============== ======== ============== ========== ============
nginx.exe            652 Console                 0      2780 K
nginx.exe           1332 Console                 0      3112 K

其中一个流程是主流程,另一个流程是工作流程。如果 nginx 没有启动,请在错误日志文件logs\error.log中查找原因。如果尚未创建日志文件,则应在 Windows 事件日志中报告其原因。如果显示的是错误页面而不是预期页面,请在logs\error.log文件中查找原因。

nginx/Windows 使用运行目录的目录作为配置中相对路径的前缀。在上面的示例中,前缀是C:\nginx-1.19.1\。必须使用正斜杠以 UNIX 样式指定配置文件中的路径:

access_log   logs/site.log;
root         C:/web/html;

nginx/Windows 作为标准控制台应用程序(不是服务)运行,可以使用以下命令进行管理:

Note

nginx -s 停止fast shutdown
Nginx -s 退出graceful shutdown
nginx -s 重新加载更改配置,使用新配置启动新工作进程,正常关闭旧工作进程
nginx -s 重新打开重新打开日志文件

Known issues

  • 尽管可以启动几个 Worker,但实际上只有一个 Worker 从事任何工作。

  • 不支持 UDP 代理功能。

Future 可能的增强

  • 作为服务运行。

  • 使用 I/O 完成端口作为连接处理方法。

  • 在单个工作进程中使用多个工作线程。