Windows提供了兩個小工具instsrv.exe和srvany.exe來把任何應用包裝成windows服務。顧名思義instsrv(install service)是用來安裝服務的,而srvany(service anything)包裝任何服務的外殼。下載instsrv.exe和srvany.exe.
由於nginx的windows應用沒有服務,使用起來不太方便,這里趁機利用一下把nginx安裝成windows服務,步驟如下:
- 首先使用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
因此我的安裝命令instsrv.exe nginx e:\temp\clean_day\nginx-1.4.7\srvany.exe
- 第一步把服務外殼安裝好了,這里就要配置這個外殼來執行的真正應用了。這里需要修改注冊表
- 運行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指明程序運行的參數,如果沒有可以不用設值;
- 啟動服務
完畢你就可以用net命令啟動/停止,或者sc命令配置服務了。 - 刪除服務
可以使用instsrv的remove選項來刪除服務,當然也可以用sc命令。
如果為了方便,你也可以做成bat文件,包括安裝、卸載、啟動、停止,甚至於操作注冊表。有興趣的同學自己嘗試一下。