前两天看到公司window服务器上面有个nginx在跑,重启服务器后没有自动启动,需要手动运行nginx,甚是麻烦呀

上网找了一下关于将nginx配置为系统服务并且开机自动启动的解决方案,这里mark一下:

1、下载WinSW(window service wraper)

  地址:https://github.com/kohsuke/winsw/releases

  里面有不同版本,同时分32位(WinSW.NET2.exe)和64位(WinSW.NET4.exe),请按照自己的服务器属性下载

2、将下载的WinSW.exe文件重命名为nginxservice.exe并放在服务器nginx的安装目录下

  Window下将nginx配置为开机自动启动

3、在nginx安装目录下新建一个ngingxservice.xml文件,内容为:

<service>
    <id>nginx</id>
    <name>nginx</name>
    <description>nginx</description>
    <logpath>E:\nginx-1.16.1\nginx-1.16.1</logpath>
    <logmode>roll</logmode>
    <depend></depend>
    <executable>E:\nginx-1.16.1\nginx-1.16.1\nginx.exe</executable>
    <stopexecutable>E:\nginx-1.16.1\nginx-1.16.1\nginx.exe -s stop</stopexecutable>
</service>

  根据nginx安装目录不同,修改对应的logpath、executable、stopexecutable标签

4、cmd进入nginx的安装目录,执行:nginx-service.exe install命令,然后进入系统服务,看是否注册nginx服务成功并且检查是否设置为自动启动

Window下将nginx配置为开机自动启动

 

到此,nginx就被注册为系统服务了,并且设置为开机自启