是否可以从 Cygwin 运行 Linux 版的 nginx?或者我应该运行 Windows 版本?基本上,我希望能够从命令提示符重新启动 Cygwin,而不必在更改配置文件时在任务管理器中结束进程。Windows nginx 不支持此功能,但 Linux nginx 支持。
答案1
如果您只想从 Windows 命令行重新启动某些程序,则可以使用命令通过命令行taskkill
或stop-process
Powershell 中的 cmdlet 来终止正在运行的进程。
我没有看到 nginxCygwin 软件包列表因此您必须下载 nginx 源并在 cygwin 下进行编译才能使其工作。
答案2
我用chocolatey 包管理器nginx-service
在nginx
Windows 上运行。它
使用国家安全监测中心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