nginx在Windows上停止/重新加载失败,因为访问被拒绝


13

我正在Windows Server 2008 R2(x64)上将nginx作为Windows服务运行。我为此使用Windows Service Wrapper。(实际上,我已经遵循了本教程:http : //mercurial.selenic.com/wiki/HgServeNginxWindows。)

该服务运行正常。但是,服务器不处理信号(例如,停止/重新加载)。

这意味着如果我停止服务,nginx不会停止。(我必须杀死它。)

当我想从命令行重新加载配置时:

C:\Users\Administrator>E:\apath\nginx\nginx.exe -p E:\apath\nginx -c E:\apath\nginx.conf -s reload

它输出:

nginx: [error] OpenEvent("Global\ngx_reload_4268") failed (5: Access is denied)

我以管理员身份运行命令,并且该服务在NETWORK SERVICE用户下运行。

有任何提示或类似问题吗?


ProcMon跟踪应该能够帮助识别问题。如果您可以下载Process Monitor应用程序,运行它,开始跟踪,重复之前完成的步骤(这样您将重现“ 访问被拒绝”错误),停止跟踪,将其另存为PML文件(All Events),然后共享该文件与我们合作,我们也许能够提供解决方案。
Tomas Dabasinskas

Answers:



1

我在本地系统下运行nginx-service,并使用以下xml配置:

<service>
      <id>nginx-service</id>
      <name>nginx-service</name>
      <description>nginx-service</description>
      <executable>c:\nginx\nginx.exe</executable>
      <logpath>c:\nginx\</logpath>
      <logmode>roll</logmode>
      <depend></depend>
      <startargument>-pc:\nginx</startargument>
      <stopexecutable>c:\nginx\nginx.exe</stopexecutable>
      <stopargument>-s</stopargument>
      <stopargument>stop</stopargument>
  </service>

我正在使用Windows Service Wrapper 1.18,此配置适用于我。Nginx进程现在应该正常停止。祝好运。


在哪里可以找到这个xml?上下文很重要!
Roel


0

为了使其在带有nginx 1.9.15的Windows 10上对我有用,我必须添加

-p c:\nginx 

在stop参数中

<service>
  <id>nginx</id>
  <name>nginx</name>
  <description>nginx</description>
  <executable>c:\nginx\nginx.exe</executable>
  <logpath>c:\nginx\</logpath>
  <logmode>roll</logmode>
  <depend></depend>
  <startargument>-p</startargument>
  <startargument>c:\nginx</startargument>

  <stopexecutable>c:\nginx\nginx.exe</stopexecutable>
  <stopargument>-p</stopargument>
  <stopargument>c:\nginx</stopargument>
  <stopargument>-s</stopargument>
  <stopargument>stop</stopargument>
</service>

0
  1. cmd管理员身份打开。
  2. 然后cd转到nginx所在的文件夹,然后运行以下命令:

cmd(以管理员身份)

cd E:\apath\nginx\nginx.exe
nginx -s reload
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.