windows系統電腦將nacos/zookeeper等第三方組件註冊成windows服務,開機自啓

原理:使用apache的Procrun軟件,自主註冊windows服務,需指定啓動腳本和停止腳本。

大致步驟如下:

1.下載Procrun: http://archive.apache.org/dist/commons/daemon/binaries/windows/ 選擇最新的版本,如commons-daemon-1.2.2-bin-windows.zip

2.解壓zip包

3.準備好zookeeper/nacos的資源,解壓,其中nacos的下載地址:https://github.com/alibaba/nacos/releases ,zookeeper的下載地址:https://zookeeper.apache.org/releases.html

4.準備好zookeeper/nacos的啓動腳本和停止腳本,其中nacos自帶都有,zookeeper自帶啓動腳本,卸載腳本需要自己寫。

5.分別準備好zookeeper和nacos的bat腳本,作用是 調用procrun的srv程序,將zookeeper和nacos註冊成服務,需要準備兩份,一份註冊服務腳本,一份卸載服務腳本。

6.注意點,如果指定了日誌文件路徑,需要自己提前創建好路徑的文件夾

7.執行安裝服務腳本,安裝即可,不需要服務了,可以直接執行卸載服務腳本。

8.procrun的一些使用參數介紹:http://commons.apache.org/proper/commons-daemon/procrun.html

 

實際操作例子:

1.新建文件夾:source,將procrun解壓到該文件夾下

2.解壓nacos1.2.1爲nacos文件夾下

3.解壓zookeeper3.4.6爲zookeeper-3.4.6文件夾下

4.將procrun的prunsrv.exe分別複製到zookeeper-3.4.6 /nacos文件夾下,重命名爲 zookeeper-srv.exe和nacos-srv.exe

5.將procrun的prunmgr.exe分別複製到zookeeper-3.4.6/nacos文件夾下,重命名爲MyZookeeper.exe和Nacos.exe,(文件名爲服務名,這樣才能在服務安裝後,可以直接雙擊管理)

6.nacos的啓動腳本爲bin路徑下的startup.cmd,停止腳本爲shutdown.cmd

7.zookeeper的啓動腳本爲bin路徑下的zkServer.cmd,停止腳本爲自己寫一個:

8.編寫zkServerStop.cmd,內容如下,保存在bin路徑下

@echo off

cd..
set CDIR=%CD%
set ZOOKEEPER_SERVICE=zookeeper
set ZOOKEEPER_HOME=%CDIR%
setlocal
TASKLIST /svc | findstr /c:"%ZOOKEEPER_SERVICE%" > %ZOOKEEPER_HOME%\zookeeper_svc.pid
FOR /F "tokens=2 delims= " %%G IN (%ZOOKEEPER_HOME%\zookeeper_svc.pid) DO (
    @set zkPID=%%G
)
taskkill /PID %zkPID% /T /F
del %ZOOKEEPER_HOME%/zookeeper_svc.pid
endlocal
pause

9.至此,知道了zookeeper和nacos的啓動停止腳本

10.爲zookeeper和nacos編寫服務安裝(註冊)腳本,服務卸載腳本

10.1:zookeeper安裝服務腳本,install.bat,放在zookeeper-3.4.6路徑下

@echo off

cd.
set CDIR=%CD%
cd..
set BASEDIR=%CD%
set SRV=%CDIR%\zookeeper-srv.exe
set ZOOKEEPER_HOME=%CDIR%
set NAME=MyZookeeper
"%SRV%" //IS//%NAME% --DisplayName=%NAME% --Description=%NAME% --Startup=manual --StartMode=exe --StartPath="%ZOOKEEPER_HOME%" --StartImage="%ZOOKEEPER_HOME%\bin\zkServer.cmd" --StopPath="%ZOOKEEPER_HOME%" --StopImage="%ZOOKEEPER_HOME%\bin\zkServerStop.cmd" --StopMode=exe --StopTimeout=10 --LogPath="%ZOOKEEPER_HOME%\log" --LogPrefix="zookeeper-log" --PidFile=zookeeper.pid --LogLevel=Info --StdOutput=auto --StdError=auto
echo install success
pause

10.2: zookeeper服務卸載腳本,uninstall.bat,放在zookeeper-3.4.6路徑下

@echo off

cd.
set CDIR=%CD%
cd..
set BASEDIR=%CD%
set SERVICE_NAME=MyZookeepers
set SRV=%CDIR%\zookeeper-srv.exe
%SRV% //DS//%SERVICE_NAME%
echo finish uninstall
pause

10.3: nacos的啓動和卸載腳本和上面基本一致,唯一不同就是改下部分參數,服務註冊腳本install.bat

 

@echo off

cd.
set CDIR=%CD%
cd..
set BASEDIR=%CD%
set SRV=%CDIR%\nacos-srv.exe
set NACOS_HOME=%CDIR%
set NAME=Nacos
"%SRV%" //IS//%NAME% --DisplayName=%NAME% --Description=%NAME% --Startup=manual --StartMode=exe --StartPath="%NACOS_HOME%" --StartImage="%NACOS_HOME%\bin\startup.cmd" --StopPath="%NACOS_HOME%" --StopImage="%NACOS_HOME%\bin\shutdown.cmd" --StopMode=exe --StopTimeout=10 --LogPath="%NACOS_HOME%\log" --LogPrefix="nacos-log" --PidFile=nacos.pid --LogLevel=Info --StdOutput=auto --StdError=auto
echo install success
pause

10.4:nacos服務卸載腳本: uninstall.bat

@echo off

cd.
set CDIR=%CD%
cd..
set BASEDIR=%CD%
set SERVICE_NAME=Nacos
set SRV=%CDIR%\nacos-srv.exe
%SRV% //DS//%SERVICE_NAME%
echo finish uninstall
pause

11.安裝腳本和卸載腳本準備好了,下一步直接執行對應的安裝腳本即可,但在執行之前需要注意,以上腳本都配置了日誌文件路徑爲log,需要手工爲各自路徑創建log文件夾,防止報錯。

12.雙擊執行install.bat腳本

13.執行成功,在windows服務中查找對應的服務,以上腳本將MyZookeeper和Nacos註冊到windows服務中,找到對應的服務,點擊啓動即可。

14.也可以直接在剛纔複製過來的路徑中的MyZookeeper.exe和Nacos.exe 文件,直接雙擊執行,便可管理軟件。

15.如需改成開機自啓,操作服務管理程序即可

16.注意:停止服務的時候會彈窗報錯,但是服務已經正常停止了,不需要在意。 

 

總結:

procrun軟件可以將任意類似的有啓動程序和停止程序的服務註冊成windows服務,也可以將jar包註冊成windows服務,只要好好的利用procrun的參數即可。

以上nacos和zookeeper只是一個示例,更多功能自己摸索哈

 

附上相關鏈接:

https://download.csdn.net/download/chemphone/12492524

這裏將上面的東西上傳到了csdn資源裏,需要的直接下載,理論上可以直接使用。不想下載的還是按照我上述的步驟一步一步來吧,結果是一樣的,還省了一個積分,自己動手豐衣足食,有問題下方留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章