nginx作为一款优秀的web服务器,一直深受广大用户爱戴,但是它毕竟主要还是用*nix服务器上多。其官网虽然也有提供windows版本,但是官方并未给出作为windows服务的解决办法。今天要介绍的就是利用 winsw (Windows service wrapper) 来安装nginx服务的方法。

网上其实有很多介绍 winsw (Windows service wrapper) 的文章,但大多都过时了的,改项目最新的地址应该是:https://github.com/kohsuke/winsw ,下载地址:https://github.com/kohsuke/winsw/releases 其提供了两个版本的程序(.NET2.0和.NET4.0),选择合适的下载即可,同时,再下载一个 sample-minimal.xml 文件

如何安装服务

  1. 将下载的 WinSW.NET4.exe(或 WinSW.NET2.exe)重命名为你需要的应用名称,如:nginx-service.exe
  2. 将下载的 sample-minimal.xml 重命名为相同的文件名,如:nginx-service.xml
  3. 修改 nginx-service.xml 文件如下并保存
<configuration>
  <id>nginx</id>
  <!-- 服务名称 -->
  <name>Nginx</name>
  <!-- 服务描述 -->
  <description>Nginx service</description>
  <!-- 执行程序的路径 -->
  <executable>%BASE%\nginx.exe</executable>
</configuration>
  1. nginx-service.exenginx-service.xml 两个文件拷贝到 nginx 目录下
  2. 在命令行下运行 ./nginx-service install 命令即可安装服务。如果成功,就能在 “服务” 列表中就能查看到 nginx 服务了

如何卸载服务

在命令行下运行 ./nginx-service uninstall 命令即可卸载服务

结束语

为了方便大家使用,本人已经配置好一套程序,并提供两个批处理文件,用于安装和卸载服务。请移步至:https://github.com/hpyer/nginx-service