适用于 Windows 的 Nginx
已知问题 未来可能增强的功能 |
Windows 版的 Nginx 使用原生 Win32 API(而非 Cygwin 仿真层)。目前仅使用 select()
和 poll()
(1.15.9) 连接处理方法,因此不应期望其具有高性能和可伸缩性。由于此原因以及其他一些已知问题,Windows 版的 Nginx 被视为一个 beta 版本。目前,除了 XSLT 过滤器、图像过滤器、GeoIP 模块和嵌入式 Perl 语言外,它提供的功能与 UNIX 版的 Nginx 几乎相同。
要安装 nginx/Windows,请下载最新的主线版本分发包 (1.27.5),因为 Nginx 的主线分支包含所有已知修复。然后解压分发包,进入 nginx-1.27.5 目录,并运行 nginx
。以下是在 C: 驱动器根目录下的示例:
cd c:\ unzip nginx-1.27.5.zip cd nginx-1.27.5 start nginx
运行 tasklist
命令行工具以查看 Nginx 进程
C:\nginx-1.27.5>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
其中一个进程是主进程(master process),另一个是工作进程(worker process)。如果 Nginx 没有启动,请在错误日志文件 logs\error.log
中查找原因。如果日志文件尚未创建,原因应报告在 Windows 事件日志中。如果显示错误页面而不是预期的页面,也请在 logs\error.log
文件中查找原因。
nginx/Windows 使用其运行所在的目录作为配置中相对路径的前缀。在上面的示例中,前缀是 C:\nginx-1.27.5\
。配置文件中的路径必须使用 UNIX 风格的正斜杠指定:
access_log logs/site.log; root C:/web/html;
nginx/Windows 作为标准的控制台应用程序运行(而不是服务),可以使用以下命令进行管理:
nginx -s stop 快速关机 nginx -s quit 平滑关机 nginx -s reload 更改配置,使用新配置启动新的工作进程,平滑关闭旧的工作进程 nginx -s reopen 重新打开日志文件
已知问题
- 尽管可以启动多个工作进程,但实际上只有其中一个会执行任何工作。
- 不支持 UDP(以及固有的 QUIC)功能。
未来可能增强的功能
- 作为服务运行。
- 使用 I/O 完成端口作为连接处理方法。
- 在单个工作进程中使用多个工作线程。