我在
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用户下运行.
任何提示或类似问题?
我在LOCAL SYSTEM下运行我的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进程.祝好运.