Windows Service Wrapper让nginx.exe变成:nginx-service

我们如果自windows上使用nginx,解压后只要点击 nginx.exe 便启动了nginx,但我们的电脑服务器重新时还需要再次运行nginx.exe,所以我们需要把nginx.exe添加到Windows服务里去,让它随机自启动。

Nginx

Nginx 是一个 web 服务器。它类似于 Lighttpd,作为轻量级的 web server,可以替代重量级的 Apache/IIS。Nginx 专为性能优化而开发,是一个快速且能经受高负载考验的 web server。它来自于 Linux 世界但同样可以运行在 Windows 上面(由本地语言构建)。唯一的问题就是它不支持 Windows Services。

如果它能够像 apache 或 IIS 那样作为一个服务工作的话会更漂亮。那样的话,我们就可以设置机器启动时 Nginx 自动启动,还可以方便地启动、停止或者重启服务,设置恢复选项、依赖的服务,等等。

通过cmd命令方式

nginx –h //查看nginx的帮助

start nginx //启动

nginx -s stop //停止服务:

nginx -s reload //重新加载配置:

winsw.exe让Nginx作为Windows服务开机自启动:

每次以cmd方式启动Nginx服务不符合实际要求,于是我们想到将其注册为Windows服务,并设置为自动启动模式。这里,我们使用一个不错的小程序:“Windows Service Wrapper”,将nginx.exe注册为Windows服务!

使用方法:

1、首先windows系统必须要安装.NET程序。这个是为了支持Windows Service Wrapper软件的,下载最新版的 Windows Service Wrapper 程序.

2、然后,把它命名成你想要的名字,比如: "winsw.exe",当然你也可以不改名。

3、将重命名后的winsw.exe文件复制到 nginx 的主目录,我这里是 "c:\nginx"。

4、然后在nginx主目录下创建一个Windows Service Wrapper的XML配置文件,而且该名称必须与第一步重命名时winsw.exe使用的名称一致,比如我这里是 "winsw.xml"。

winsw.xml文件内容如下:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <service>
  3. <id>nginx</id>
  4. <name>nginx</name>
  5. <description>nginx</description>
  6. <executable>c:\nginx\nginx.exe</executable>
  7. <logpath>c:\nginx\</logpath>
  8. <logmode>roll</logmode>
  9. <depend></depend>
  10. <startargument>-p c:\nginx\</startargument>
  11. <stopargument>-p c:\nginx\ -s stop</stopargument>
  12. </service>

5、在命令行下执行以下命令,以便将nginx安装成Windows服务。如下:
winsw.exe install

Windows Servcie Wrapper的命令格式如下:

  1. # 安装服务
  2. CMD:\> winsw.exe install
  3. # 卸载服务
  4. CMD:\> winsw.exe uninstall
  5. # 启动服务
  6. CMD:\> winsw.exe start
  7. # 停止服务
  8. CMD:\> winsw.exe stop

发布日期:

所属分类: Apache/Ngnix, 后端 标签: