Windows系统上使用Nginx,用Windows ServiceWrapper将nginx包装成一个windows服务:
<service>
<id>Nginx</id>
<name>Nginx</name>
<description>Nginx</description>
<logpath>D:\servers\nginx-1.16.1\</logpath>
<logmode>append</logmode>
<depend></depend>
<executable>D:\servers\nginx-1.16.1\nginx.exe</executable>
<stopexecutable>D:\servers\nginx-1.16.1\nginx.exe -s stop</stopexecutable>
</service>
修改配置文件后,在命令行nginx -s reload,报错:Access is denied,什么意思呢?就是说没权限。这位说了,那我用的管理员身份打开的命令行啊,对不起,少来,谁都不行!
打开任务管理器,可以清楚地看到,nginx的进程用户是SYSTEM,但我们登陆操作系统的用户一般是administrator或者任何你添加的用户。
怎么搞?在服务中找到Nginx服务,右键-属性-登录-此账户,点浏览,在检查名称的左边填你的用户名,然后点检查名称,后面一路确定就行。