近日一直在忙于Rhel(32位与64位都有)下制作虚拟镜像, 说老实话这份差事对于之前从未接触过Linux的我来讲还确实有点困难。
经过自己一个星期得奋战总算掌握了一些基本的操作了,虚拟镜像除mysql+php+phpMyAdmin+apache之外都安装好了。插句题外话: RHel安装LAMP还真是挺头疼的,依赖嵌套很深难以处理,至于使用Cent Os的Yum方式安装,依赖问题倒是大大变简便了,然而寻找到有效地Cent Os源也是很困难的, 因此我至今还未搞定。
今天下午开始制作基于windows server 2003版的虚拟镜像, 因有了在rhel下制作的经验倒也没遇到太大的困难。 然而如何就将java程序以服务的形式在windows下启动则还是个需要探索的问题(rhel下很好处理,直接写个shell脚本即可置后台运行即可,不过send mail太多了)。
————————java程序制作成windows服务(x86_32位)—————————————
我是采用的Java Service Wrapper工具, 下载地址:
http://sourceforge.net/projects/wrapper/files/(当下最新版为3.5.6的)
步骤:
1、解压缩java service wrapper包,假设目录为:wrapper_home
2、建立一个目录比如:D盘server文件夹里面建立bin、conf、logs、lib文件夹。
3、将wrapper_home/bin目录里wrapper.exe
将wrapper_home/src/bin目录里App.bat.in
将wrapper_home/src/bin目录里InstallApp-NT.bat.in
将wrapper_home/src/bin目录里UninstallApp-NT.bat.in
统一拷贝至server/bin目录里,并去掉后缀名in。
将wrapper_home/src/conf目录wrapper.conf.in拷贝至server/conf目录里去掉后缀名in
再将wrapper_home/lib/目录里面的wrapper.jar和wrapper.dll拷贝至server/lib目录里面
4、将你的应用程序打成jar包后放入server/lib目录里面,如果程序依赖第三方架包,同样将jar包放入该目录下。
5、配置server/conf/wrapper.conf文件。
主要修改以下几项即可:
#你的JVM位置(文中有进行设置的地方...):
wrapper.java.command=%JAVA_HOME%\bin\java
#classpath:里面添加上你要执行的应用程序jar,以及依赖的第三方jar,有多个依次类推
wrapper.java.classpath.1=../lib/应用程序.jar
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=../bin/第三方.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
#你的Java应用类(一般而言就是包含main函数的类),
wrapper.app.parameter.1= service.Server.Serverbegin
# 服务名
wrapper.ntservice.name=server
# Display name of the service
wrapper.ntservice.displayname=server
# 服务描述
wrapper.ntservice.description=receive message
其他的配置根据你的需要改变即可
6. 对以上配置的App.bat进行测试,运行App.bat,dos窗口中显示;
7. 对以上配置的服务进行测试,运行server/bin/InstallApp-NT.bat将把你的应用(此处为server)安装到Win32系统服务中了。
8. 打开控制面板-管理程序-服务,看到server已经在系统服务中了,其他用法就与我们熟悉的Windows服务一样了。
bin/App.bat 控制台方式运行程序
bin/InstallApp-NT.bat 安装服务
bin/UninstallApp-NT.bat 删除服务
wrapper.java.library.path.1=../lib(存放.dll的位置)
#MAIN CLASS 此处决定了使用Java Service Wrapper的方式
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
(注意: 此处不是指你自己的java类,而是表明你采用的方式)
[img]http://dl.iteye.com/upload/attachment/346768/5b2dd37d-a531-3536-ba2a-1478bb5ddcc9.jpg[/img]
需要强调的是: 如果你工程的jar包很多的话可以采取正则表达式的方式,例如我的lib下有80个jar文件,那么你可以使用/*.jar的形式。 经本人验证OK!
附加说明: 由于本人是在虚拟机下执行上述实验的,不便截图与复制配置文件内容回本机, 因此截图与配置文件都是copy网上的(可能部分文件名有出入,自己摸索一下)... ...
看到有另外一种做法:http://liubey.iteye.com/blog/701993
此方法本人没有验证过... ...
经过自己一个星期得奋战总算掌握了一些基本的操作了,虚拟镜像除mysql+php+phpMyAdmin+apache之外都安装好了。插句题外话: RHel安装LAMP还真是挺头疼的,依赖嵌套很深难以处理,至于使用Cent Os的Yum方式安装,依赖问题倒是大大变简便了,然而寻找到有效地Cent Os源也是很困难的, 因此我至今还未搞定。
今天下午开始制作基于windows server 2003版的虚拟镜像, 因有了在rhel下制作的经验倒也没遇到太大的困难。 然而如何就将java程序以服务的形式在windows下启动则还是个需要探索的问题(rhel下很好处理,直接写个shell脚本即可置后台运行即可,不过send mail太多了)。
————————java程序制作成windows服务(x86_32位)—————————————
我是采用的Java Service Wrapper工具, 下载地址:
http://sourceforge.net/projects/wrapper/files/(当下最新版为3.5.6的)
步骤:
1、解压缩java service wrapper包,假设目录为:wrapper_home
2、建立一个目录比如:D盘server文件夹里面建立bin、conf、logs、lib文件夹。
3、将wrapper_home/bin目录里wrapper.exe
将wrapper_home/src/bin目录里App.bat.in
将wrapper_home/src/bin目录里InstallApp-NT.bat.in
将wrapper_home/src/bin目录里UninstallApp-NT.bat.in
统一拷贝至server/bin目录里,并去掉后缀名in。
将wrapper_home/src/conf目录wrapper.conf.in拷贝至server/conf目录里去掉后缀名in
再将wrapper_home/lib/目录里面的wrapper.jar和wrapper.dll拷贝至server/lib目录里面
4、将你的应用程序打成jar包后放入server/lib目录里面,如果程序依赖第三方架包,同样将jar包放入该目录下。
5、配置server/conf/wrapper.conf文件。
主要修改以下几项即可:
#你的JVM位置(文中有进行设置的地方...):
wrapper.java.command=%JAVA_HOME%\bin\java
#classpath:里面添加上你要执行的应用程序jar,以及依赖的第三方jar,有多个依次类推
wrapper.java.classpath.1=../lib/应用程序.jar
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=../bin/第三方.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
#你的Java应用类(一般而言就是包含main函数的类),
wrapper.app.parameter.1= service.Server.Serverbegin
# 服务名
wrapper.ntservice.name=server
# Display name of the service
wrapper.ntservice.displayname=server
# 服务描述
wrapper.ntservice.description=receive message
其他的配置根据你的需要改变即可
6. 对以上配置的App.bat进行测试,运行App.bat,dos窗口中显示;
7. 对以上配置的服务进行测试,运行server/bin/InstallApp-NT.bat将把你的应用(此处为server)安装到Win32系统服务中了。
8. 打开控制面板-管理程序-服务,看到server已经在系统服务中了,其他用法就与我们熟悉的Windows服务一样了。
bin/App.bat 控制台方式运行程序
bin/InstallApp-NT.bat 安装服务
bin/UninstallApp-NT.bat 删除服务
wrapper.java.library.path.1=../lib(存放.dll的位置)
#MAIN CLASS 此处决定了使用Java Service Wrapper的方式
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
(注意: 此处不是指你自己的java类,而是表明你采用的方式)
[img]http://dl.iteye.com/upload/attachment/346768/5b2dd37d-a531-3536-ba2a-1478bb5ddcc9.jpg[/img]
需要强调的是: 如果你工程的jar包很多的话可以采取正则表达式的方式,例如我的lib下有80个jar文件,那么你可以使用/*.jar的形式。 经本人验证OK!
附加说明: 由于本人是在虚拟机下执行上述实验的,不便截图与复制配置文件内容回本机, 因此截图与配置文件都是copy网上的(可能部分文件名有出入,自己摸索一下)... ...
看到有另外一种做法:http://liubey.iteye.com/blog/701993
此方法本人没有验证过... ...