使用 Cygwin 在 Windows 上运行 nginx

使用 Cygwin 在 Windows 上运行 nginx

是否可以从 Cygwin 运行 Linux 版的 nginx?或者我应该运行 Windows 版本?基本上,我希望能够从命令提示符重新启动 Cygwin,而不必在更改配置文件时在任务管理器中结束进程。Windows nginx 不支持此功能,但 Linux nginx 支持。

答案1

如果您只想从 Windows 命令行重新启动某些程序,则可以使用命令通过命令行taskkillstop-processPowershell 中的 cmdlet 来终止正在运行的进程。

我没有看到 nginxCygwin 软件包列表因此您必须下载 nginx 源并在 cygwin 下进行编译才能使其工作。

答案2

我用chocolatey 包管理器nginx-servicenginxWindows 上运行。它
使用国家安全监测中心nginx以服务的方式进行管理。

然后,只需打开cmd并输入“nssm restart nginx-service”即可重新启动nginx
安装过程很简单,只需加载 chocolatey,重新启动终端并执行

choco install nginx-service

笔记:
我完全清楚这是为 Windows 本地编译的nginx,而不是针对 Cygwin 编译的版本。但是,它可以很好地完成所需的所有任务。

答案3

更新此内容是因为这是使用 google 搜索时“cygwin start nginx”的第一个条目。

  • 它不是“Cygwin 的 Linux 版 nginx”。它是针对 cygwin DLL 编译的库编译的 nginx 版本。请参阅:https://cygwin.com/index.html

  • 由于 Cygwin 提供了一个版本,因此最好这样做。

  • nginx 二进制文件位于 /usr/sbin 中。除非您添加它,否则它不会显示在您的路径中。

  • 根据http://nginx.org/en/docs/windows.html您可以在 Windows 控制台上执行此操作,就像 Cygwin 控制台一样:


    nginx -s stop   fast shutdown
    nginx -s quit   graceful shutdown
    nginx -s reload changing configuration, starting new worker processes with a new configuration, graceful shutdown of old worker processes
    nginx -s reopen re-opening log files

(好吧,所以“代码块的行为不符合我的预期。必须手动标记它)

  • 因此答案是我的问题(放在这里是为了让其他人受益):

执行文件/usr/sbin/nginx.exe

相关内容