利用instsrv和srvany来手动安装服务

Windows提供了两个小工具instsrv.exe和srvany.exe来把任何应用包装成windows服务。顾名思义instsrv(install service)是用来安装服务的,而srvany(service anything)包装任何服务的外壳。下载instsrv.exe和srvany.exe.

由于nginx的windows应用没有服务,使用起来不太方便,这里趁机利用一下把nginx安装成windows服务,步骤如下:

  1. 首先使用instsrv把srvany安装成服务,instsrv的命令格式(instsrv.exe /?):
    Installs and removes system services from NT
    
    INSTSRV <service name> (<exe location> | REMOVE)
      [-a <Account Name>] [-p <Account Password>]
    
      Install service example:
    
        INSTSRV MyService C:\MyDir\DiskService.Exe
        -OR-
        INSTSRV MyService C:\mailsrv\mailsrv.exe -a MYDOMAIN\joebob -p foo
    
      Remove service example:
    
        INSTSRV MyService REMOVE
    location是完整路径哦。
    因此我的安装命令
    instsrv.exe nginx e:\temp\clean_day\nginx-1.4.7\srvany.exe
  2. 第一步把服务外壳安装好了,这里就要配置这个外壳来执行的真正应用了。这里需要修改注册表
    • 运行Regedit.exe,打开“注册表编辑器”;
    • 依次展开如下子键:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services],在该子键下找到并右击nginx(对应步骤1建立的服务名),选择“新建”下的“项”,将其命名为Parameters。
    • 单击选定Parameters,在右侧窗口中新建一个名为Application的字符串值,将其数值数据设置为nginx服务对应的应用程序绝对路径,比如:E:\temp\clean_day\nginx-1.4.7\nginx.exe;
    • 接着再新建两个字符串值:AppDirectory和AppParameters,AppDirectory指定程序所在的目录,如:E:\temp\clean_day\nginx-1.4.7;
    • AppParameters指明程序运行的参数,如果没有可以不用设值;
  3. 启动服务
    完毕你就可以用net命令启动/停止,或者sc命令配置服务了。
  4. 删除服务
    可以使用instsrv的remove选项来删除服务,当然也可以用sc命令。

如果为了方便,你也可以做成bat文件,包括安装、卸载、启动、停止,甚至于操作注册表。有兴趣的同学自己尝试一下。

posted @ 2014-11-14 11:20  码农神说  阅读(7989)  评论(0编辑  收藏  举报