windows server 2008 安装windows服务

在 win 10 系统开发的windows service 程序,但需要应用在windows server 系统上,安装的时候提示找不到installutil.exe安装工具,导致无法安装window 服务。原因是server 系统中的.net Framework 版本太低,只是v.2。查询到以下两个较为使用的解决方案:

  1. nssm.exe工具 以安装nginx为例

    1. 下载nginx windows版本http://nginx.org/
    2. 下载 nssm :http://nssm.cc/
    3. 安装
      Nginx下载解压到一个目录,nssm下载后解压相应版本(32/64)到一个目录。
      然后安装服务:

      nssm install N1 “D:\N1\nginx.exe” `


    4. 即可安装成功最基本的服务,不过启动的是nssm,让后由nssm启动nginx。现在就可以通过控制面板->管理员工具->服务中找到该服务,并启动和停止了。当然,net start 和 net stop也是可以的。
      但是,当停止服务后,会发现网站仍在正常运转。查看进程会发现还有一个nginx进程存在。原来,nginx启动了两个nginx进程(根据nginx.conf的配置worker_processes 1;),一个监控进程,一个工作进程。显然,停止的是监控进程,而工作进程没停,结果就是nginx仍在运行。因此彻底关闭nginx就需要别的手段,如任务管理器或者使用taskkill命令:
      taskkill /F /IM nginx.exe > nul
      当然,可以写一个脚本来处理nginx停止的所有操作:

      @echo off
      echo Stopping nginx service...
      net stop N1
      echo Kill nginx process...
      taskkill /F /IM nginx.exe > nul

    5. 想删除服务:

      sc delete Nginx

    6. 卸载服务:

      `nssm remove nginx
    7. 异常情况

      1.  <pre>Service not starting - Error 3</pre>
      
              1.  原因 :服务指向的地址为nssm的安装位置, 修改地址即可
      
          2.  1053
      
              1.  原因太多:(bug\超时\ .net Framework b版本)建议更新 .net Framework  版本
      
      1. 注意:需要在注册表中通过ImagePath修改可服务执行文件的位置
  2. 更新 .net Framework

    1. 下载 https://www.microsoft.com/en-us/download/details.aspx?id=53344
    2. 点击 安装 按钮
    3. 安装成功
    4. 检查情况 位置 C:\Windows\Microsoft.NET\Framework v.4.0.30319
      参考
  3. http://stackoverflow.com/questions/25241560/windows-process-activation-service-not-starting-error-3

  4. http://www.cnblogs.com/itcomputer/p/6216038.html
  5. http://www.cnblogs.com/ChineseMoonGod/p/5575715.html
文章目录
|