Windows 64位環(huán)境的Java服務(wù)配置
最近有個(gè)任務(wù),需要遠(yuǎn)程起調(diào)Windows64服務(wù)器下的程序,那么需要在Windows服務(wù)器中注入一個(gè)deamon服務(wù),都知道Linux環(huán)境做成后臺服務(wù)非常簡單,nohup &很快能解決問題,但windows環(huán)境總是多重磨難。
一開始我先問了個(gè)朋友,他回答是沒做成服務(wù),是把寫個(gè)Pathon包在java外面,然后編譯成exe,在啟動中加入,我一聽覺得有些麻煩,還需要繞一圈才能起調(diào)。
先搜Java windows service, 推薦***Wrapper,并且大名鼎鼎的ActiveMQ也是用的他做的服務(wù),經(jīng)過驗(yàn)證,配置很簡單,copy wrapper.exe, wrapper.dll, wrapper.jar到自己的目錄,并配置一個(gè)wrapper.conf, 測試。
- wrapper.exe -c wrapper.conf
發(fā)現(xiàn)有問題,需要一個(gè)licence key,需要購買。
也許還有方法去破解,不過看了一個(gè)老外說wrapper對windows64位并不免費(fèi),并推薦Procrun之后,決定轉(zhuǎn)到這一陣地,加上大名鼎鼎的Tomcat也是用它做的服務(wù)。整個(gè)配置如下:
1.下載prunsrv
http://archive.apache.org/dist/commons/daemon/binaries/windows/
下載commons-daemon-1.0.8-bin-windows.zip
網(wǎng)上找這個(gè)不容易,后來才在commons-daemon-1.0.8-bin-windows.zip里面找到這個(gè),一般會找到http://commons.apache.org/daemon/download_daemon.cgi,這里面并沒有prunsrv.exe
解包后,64位機(jī)器用amd64/prunsrv.exe
2.解壓后復(fù)制文件
a. copy commons-daemon-1.0.8-bin-windows/amd64/prunsrv.exe to your app path
這是做服務(wù)的執(zhí)行程序
b. copy commons-daemon-1.0.8-bin-windows/prunmgr.exe 并改名 yourappname.exe
監(jiān)控服務(wù)配置及運(yùn)行的程序
3.寫兩個(gè)腳本
a.一個(gè)安裝bat
- @echo off
- set LIB_HOME=******
- set APP_HOME=******
- %APP_HOME%\prunsrv.exe //IS//StartService --DisplayName="Start Service" --Description="Start a server." ^
- --Install=%APP_HOME%\prunsrv.exe --Jvm=%JAVA_HOME%\jre\bin\server\jvm.dll --JvmMs=256 --JvmMx=1024 ^
- --StartMode=jvm --Startup=auto --StopMode=jvm --StartClass= --StartParams= ^
- --Classpath=%LIB_HOME%\*.jar; ^
- --LogPath= --LogPrefix=
^是windows命令的折行符,為了避免在一行中寫過長的命令。(Linux 是\)
在dos環(huán)境下執(zhí)行這個(gè)腳本,執(zhí)行后
這樣可以在控制面板-->管理工具-->服務(wù)里面可以看到名稱為StartService的服務(wù)
注意:--install=后面不要省%APP_HOME%\,不然會報(bào)告文件找不到
b.寫一個(gè)uninstall腳本
- @echo off
- set APP_HOME=******
- %APP_HOME%\prunsrv.exe //DS//StartService
這個(gè)可以卸掉install的服務(wù)
c.更詳細(xì)的配置文檔可以看apache文檔
http://commons.apache.org/daemon/procrun.html
原文鏈接:http://zhousheng29.iteye.com/blog/1320882
【編輯推薦】