太不爽了
众所周知,一般在Windows下面双击nginx.exe启动。
启动很方便,但是停止和重启很不友好。
有没有像Linux下面那样的,service nginx restart方便的管理方式呢?
肯定有的,而且相对来说比Linux更方便。
可以在任务管理器(服务页签)、服务窗口(Win+R->services.msc)中可视化管理。
那我之前双击启动之后,猛关进程点的手疼算什么??(PS:算倒霉)
这么好用的方式,我也最近才知道,好在好饭不怕晚~
神来之笔——WinSW
方案是:借助WinSW工具,将Nginx注册到Windows服务。
就可以在服务中很方便的管理Nginx的启动、停止、重启,甚至开机自动启动了。
步骤1:
下载WinSW工具(①),将其放到Nginx文件夹中,并将winsw.exe文件重命名为:nginx-service.exe
步骤2:
在Nginx安装目录下面创建文件,文件名是: nginx-service.xml
文件内容大致如下(路径改成你自己的),只需要改路径部分,其余不变:
<service>
<id>nginx</id>
<name>Nginx Service</name>
<description>High Performance Nginx Service</description>
<logpath>D:\nginx-1.27.1\logs</logpath>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>8</keepFiles>
</log>
<executable>D:\nginx-1.27.1\nginx.exe</executable>
<startarguments>-p D:\nginx-1.27.1</startarguments>
<stopexecutable>D:\nginx-1.27.1\nginx.exe</stopexecutable>
<stoparguments>-p D:\nginx-1.27.1 -s stop</stoparguments>
</service>
步骤3:
在Nginx安装目录下面创建,文件名是: nginx-service.exe.config
文件内容如下(固定内容,内容不用修改):
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
</startup>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
三个步骤完成后,Nginx安装目录应该像下面这样(简略):
.. 其余文件或目录
html/
nginx.exe
nginx-service.exe
nginx-service.xml
nginx-service.exe.config
安装服务:
以管理员身份打开命令行,执行命令:
./nginx-service.exe install
即可将Nginx注册为Windows服务。
后续直接通过任务管理器或者服务窗口即可管理Nginx。
升级怎么办?
有时候低版本Nginx无法满足需求,想升级版本。
需要先将Windows服务里面的Nginx删除,可以使用如下命令删除。
以管理员身份打开命令行,执行命令:
sc delete nginx
删除成功会提示,如果提示删除失败,可能是名称不对。
可以使用下面的命令查看有哪些服务,找到Nginx的服务名称之后再进行删除。
sc query
学会了吗?
①:WinSw下载地址(一般下载: WinSW-x64.exe文件)
https://github.com/winsw/winsw/releases/tag/v2.12.0