找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 24|回复: 0

Windows Service Wrapper(winsw.exe)

[复制链接]

32万

主题

0

回帖

96万

积分

超级版主

积分
964681
发表于 2024-12-6 02:22:27 | 显示全部楼层 |阅读模式
winsw.exe可以用作windows服务自启动,你不需要每次都手动去输入命令就可以快速启动,可以实现nginx注册为windows服务,这款工具方便实用,有需要的用户赶快来绿色资源网免费下载体验吧!
软件介绍:
winsw.exe是一款用于服务器的辅助工具,主要功能为可帮助用户无需每次输入命令,让nginx作为windows服务实现自启动,有效的得到win的支持,非常的便捷实用。



windows service wrapper使用方法:
1、下载最新版的 windows service wrapper 程序,比如我下载的名称是 "winsw-1.9-bin.exe",

然后,把它命名成你想要的名字(比如: "myapp.exe",当然,你也可以不改名)

2、将重命名后的 myapp.exe 复制到 nginx 的安装目录(我这里是 "f:
ginx-0.9.4")

3、在同一个目录下创建一个windows service wrapper的xml配置文件,名称必须与第一步重命名时使用的名称一致(比如我这里是 "myapp.xml",如果,你没有重命名,则应该是 "winsw-1.9-bin.xml")
nginx启动:
nginx 是一个 web 服务器。它类似于 lighttpd,作为轻量级的 web server,可以替代重量级的 apache/iis。nginx 专为性能优化而开发,是一个快速且能经受高负载考验的 web server。它来自于 linux 世界但同样可以运行在 windows 上面(由本地语言构建)。唯一的问题就是它不支持 windows services。

nginx 是绿色免安装的。这里我不去介绍它的管理配置,官方已经提供了一个很棒的 wiki,上面有丰富的服务器相关信息(参考文后链接)。可以使用默认的配置,它会使用 nginx 目录下的 html 文件夹服务于端口 80。

只需简单地执行 nginx.exe 即可启动 nginx。但你想要停止它的时候问题来了,你需要执行以下命令:

nginx.exe -s stop
其他方法自启动:
虽然这很简单,但是如果它能够像 apache 或 iis 那样作为一个服务工作的话会更漂亮。那样的话,我们就可以设置机器启动时 nginx 自动启动,还可以方便地启动、停止或者重启服务,设置恢复选项、依赖的服务,等等。

为什么不使用 instsrv/servany、firedaemon 或者其他办法呢

已经有介绍如何通过 firedaemon 使用 nginx,但它有一个很重要的问题。nginx 启动以后,它会创建一个次级进程。所以会有两个 nginx.exe 在运行。对于这个官方可能有一个很合理的理由,但你最好到 nginx 论坛去问为什么:-)

通过 instsrv/srvany(微软官方创建服务的方法) 或者 firedaemon 的方式(来创建 nginx 为服务),只是启动进程,当你想要停止它时,将关闭这个进程。但这些方式都无法关闭多余的那个 nginx.exe 进程。所以每次你停止/启动/重启服务都会产生一个多余的 nginx.exe 进程。不怎么好!

启动、停止和重新加载服务:通过cmd以守护进程方式启动nginx.exe:start nginx.exe,停止服务:nginx -s stop,重新加载配置:nginx -sreload;

每次以cmd方式启动nginx服务不符合实际要求,于是我们想到将其注册为windows服务,并设置为自动启动模式。这里,我们使用一个不错的小程序:“windows service wrapper”,将nginx.exe注册为windows服务!
winsw.exe让nginx作为windows服务开机自启动:
文件内容如下:

<?xml version="1.0" encoding="utf-8" ?>

<service>

<id>nginx</id>

<name>nginx</name>

<description>nginx</description>

<executable>f:
ginx-0.9.4
ginx.exe</executable>

<logpath>f:
ginx-0.9.4</logpath>

<logmode>roll</logmode>

<depend></depend>

<startargument>-p f:
ginx-0.9.4</startargument>

<stopargument>-p f:
ginx-0.9.4 -s stop</stopargument>

</service>

命令行下执行以下命令,以便将其安装成windows服务。

f:
ginx-0.9.4> myapp.exe install

ok,至此,完工,确认一下:我的电脑 右键 -> 管理 -> 服务 -> 是否有了个 nginx 呢?启动起来,在浏览器中 访问 http://localhost 确认一下,再 停止服务,再访问一下http://localhost 确认一下。

补充:

windows servcie wrapper的命令格式如下:

# 安装服务

cmd:> myapp.exe install

# 卸载服务

cmd:> myapp.exe uninstall

# 启动服务

cmd:> myapp.exe start

# 停止服务

cmd:> myapp.exe stop

在命令行下执行以下命令,以便将其注册成windows服务:nginx-service.exe install


</div>
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ziyuan80.com

GMT+8, 2025-8-10 06:35 , Processed in 0.077067 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表