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文件,包括安装、卸载、启动、停止,甚至于操作注册表。有兴趣的同学自己尝试一下。

利用instsrv和srvany来手动安装服务的更多相关文章

  1. 使用instsrv.exe+srvany.exe将应用程序安装为windows服务[转]

      转自:http://qingmu.blog.51cto.com/4571483/1248649 一.什么是instsrv.exe和srvany.exe instsrv.exe.exe和srvany ...

  2. 将Apache手动安装成Windows的服务

    将Apache手动安装成Windows的服务 可以选择在安装Apache时自动将其安装为一个服务.如果选择"for all users",那么Apache将会被安装为服务. 如果选 ...

  3. 在64位windows下使用instsrv.exe和srvany.exe创建windows服务[转]

    本文转自:https://www.iflym.com/index.php/computer-use/201205020001.html 在32位的windows下,包括windows7,windows ...

  4. 在64位windows下使用instsrv.exe和srvany.exe创建windows服务

    在64位windows下使用instsrv.exe和srvany.exe创建windows服务   在32位的windows下,包括windows7,windows xp以及windows 2003, ...

  5. windows MySQL 5+ 服务手动安装

    一.手动安装mysql 1.准备一个mysql免安装版本(把原来安装好的版本复制一份即可.一次安装多次使用^_^),将mysql复制到指定目录. 2.配置my.ini文件(本例使用的是5.0.22版本 ...

  6. 【转】在64位windows下使用instsrv.exe和srvany.exe创建windows服务

    本文转自:https://www.iflym.com/index.php/computer-use/201205020001.html 在32位的windows下,包括windows7,windows ...

  7. instsrv.exe srvany.exe启动服务

    1.通过注册表注册服务 private static readonly string regpath = @"SYSTEM\CurrentControlSet\Services\Consul ...

  8. python 利用 setup.py 手动安装第三方类库

    python 利用 setup.py 手动安装第三方类库 由于我在mac使用时,装了python3,默认有python2的环境,使用 pip 安装第三方类库时,老是安装到 python2的环境上: 在 ...

  9. 将Apache2.4手动安装成Windows的服务

    将Apache2.4手动安装成Windows的服务 可以选择在安装Apache时自动将其安装为一个服务.如果选择"for all users",那么Apache将会被安装为服务. ...

随机推荐

  1. php中cookie实现二级域名可访问操作的方法

    本文实例讲述了php中cookie实现二级域名可访问操作的方法.分享给大家供大家参考.具体方法如下: cookie在一些应用中很常用,假设我有一个多级域名要求可以同时访问主域名绑定的cookie,下面 ...

  2. Cisco VPN Client Error 56解决

    Cisco VPN Client Error 56解决 VPN Client报错 650) this.width=650;" style="width:575px;height:1 ...

  3. cgLib生成动态代理

    package com.stono.cglib; import java.lang.reflect.Method; import net.sf.cglib.proxy.Enhancer; import ...

  4. Beanstalkd使用

    Beanstalkd,一个高性能.轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook ...

  5. PHP1.0版本上传OSS报错,仿照2.0版本传入的居然是句柄

    代码如下:          $oss_sdk_service = new ALIOSS();              $oss_sdk_service->set_debug_mode(FAL ...

  6. 性能优化实战案例——助力某移动OA系统

    前言 最近连续接触了4个OA系统,均存在着不同的性能问题,本文记述对某移动OA系统的优化全过程,让看官们对数据库优化流程有一个了解,并揭开隐式转换这无情杀手的神秘面纱. 本文使用的工具:SQL专家云平 ...

  7. node源码详解(四) —— js代码如何调用C++的函数

    本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource4 本博客同步在https://cnodejs.o ...

  8. Graphql入门

    Graphql入门 GraphQL是一个查询语言,由Facebook开发,用于替换RESTful API.服务端可以用任何的语言实现.具体的你可以查看Facebook关于GraphQL的文档和各种语言 ...

  9. Linux下JDK安装

    最近在学习linux,倒腾了半天.终于把jdk安装好了,写篇博客记录下来,关键是jdk环境变量的配置和保存了 我用的SecureCRT连接linux,然后再在SecureCRT上敲命令,关于Secur ...

  10. java_XML_SAX

    用SAX解析XML采用的是从上而下的基于事件驱动的解析方式,在解析过程中会视情况自动调用startDocument().startElement().characters().endElement() ...