适用于 Windows 的 nginx

已知问题
未来可能的增强功能

适用于 Windows 的 nginx 版本使用本机 Win32 API(而不是 Cygwin 仿真 层)。 只有 和 (1.15.9) 连接处理方法, 因此,不应期望高性能和可伸缩性。 由于此问题和其他一些已知问题,适用于 Windows 的 nginx 版本 被视为 beta 版本。 此时,它提供与 UNIX 版本几乎相同的功能 的 nginx 中,除了 XSLT 过滤器、图像过滤器、GeoIP 模块和嵌入式 Perl 语言。select()poll()

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

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

运行命令行实用程序 要查看 nginx 进程:tasklist

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

Image Name           PID Session Name     Session#    Mem Usage
=============== ======== ============== ========== ============
nginx.exe            652 Console                 0      2 780 K
nginx.exe           1332 Console                 0      3 112 K

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

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

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

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

nginx -s 停止 快速关机
nginx -s 退出 正常关闭
nginx -s 重新加载 更改配置, 使用新配置启动新的 worker 进程, 正常关闭旧的工作进程
nginx -s 重新打开 重新打开日志文件

已知问题

  • 虽然可以启动多个 worker,但只能启动其中一个 worker 实际上可以做任何工作。
  • 不支持 UDP(以及固有的 QUIC)功能。

未来可能的增强功能

  • 作为服务运行。
  • 使用 I/O 完成端口作为连接处理方法。
  • 在单个 worker 进程中使用多个 worker 线程。