利用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文件,包括安裝、卸載、啟動、停止,甚至於操作注冊表。有興趣的同學自己嘗試一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM