java程序基础配置

java程序基础配置在使用 Java 开发应用程序时 我们通常会打包成 Jar 包独立运行 但是在实际生产环境中 服务器重启或出现异常时 程序往往不能重启或随服务器开机启动 所以我们可以采用 Java Service Wrapper 工具解决这一问题 Wrapper 可以将我们的 Java 程序包装成系统服务 这样就可以随着系统的运行而自动运行了 本文主要介绍使用 Wrapper 将 Java 程序装成系统服务的方法

大家好,我是讯享网,很高兴认识大家。



在使用Java开发应用程序时,我们通常会打包成Jar包独立运行,但是在实际生产环境中,服务器重启或出现异常时,程序往往不能重启或随服务器开机启动,所以我们可以采用Java Service Wrapper工具解决这一问题,Wrapper可以将我们的Java程序包装成系统服务,这样就可以随着系统的运行而自动运行了。本文主要介绍使用Wrapper将Java程序装成系统服务的方法,以linux系统为例。

1. 下载Wrapper

2. Java Service Wrapper目录结构

javaServiceGenerator配置基础实现 java service wrapper_Java

cmd 控制台下输入 tree /f 可以查看wrapper的详细目录和文件结构,显示目录结构如下:

3. 包装Java 应用程序

javaServiceGenerator配置基础实现 java service wrapper_Java_02

3.1 建立目录结构
讯享网

复制Java Service Wrapper文件到应用程序目录
(1)复制/bin/wrapper到应用的bin目录;
(2)复制/bin/testwrapper到应用的bin目录;
(5)复制/src/conf/wrapper.conf.in到应用的conf目录下;
(6)复制/lib/libwrapper.so到应用的lib目录;
(7)复制/lib/wrapper.jar到应用的lib目录;
复制自己的程序Jar包和依赖文件夹到src目录下;
注:由于本程序使用了自定义的配置文件config.properties和日志配置文件log4j.properties,而程序中配置文件的引用路径是/config/config.properties,所以需要将配置文件config.properties和log4j.properties单独拷贝出来,复制到src/config目录下。

3.2 编辑testwrapper文件

该文件是应用程序的启动入口,将文件重命名为程序名
#mv testwrapper StreamServer
修改文件内容

 
3.3 编辑wrapper.conf.in 文件

重命名wrapper.conf.in为wrapper.conf,所有java service wrapper配置项均在此设置,按以下步骤进行设置:

  • 文件编码及子配置文件

文件头部包含了配置文件编码格式,子配置文件等相关信息,如下所示:

讯享网
  • Wrapper 语言设置

通过这两项的设置可以指定Wrapper 的语言java程序基础配置种类,可以在Wrapper 官网下到这些语言包支持,目前不支持中文。

 
  • java运行环境设置
    本程序使用PATH环境变量配置信息
 
  • 程序入口
    wrapper的主类,可以是org.tanukisoftware.wrapper.WrapperStartStopApp或WrapperSimpleApp
    WrapperStartStopApp可以设置应用程序的启动和关闭入口
 
  • 类库设置
 
  • JVM相关配置
 

附加参数即为java命令可选参数,如下所示:

 

内存大小设置:

 
  • 应用程序参数设置:

WrapperStartStopApp的配置形式

 
  • Wrapper 日志配置
 
  • Wrapper 基本属性配置
 
  • Wrapper JVM 检查
 

内存溢出检测

 
3.4 完成

修改成功后的文件夹目录结构如下:

 

4. 部署成系统服务

将上面的StreamServer文件夹移动到linux服务器/opt目录下

4.1 赋予服务执行权限
 
4.2 让服务Server开机自动运行
 
4.3 测试

注意:
1)若StreamServer 需要访问mysql数据库,则要查看开机启动顺序是否在mydqld服务之前,若在之前应进行如下操作
删除服务添加之后/etc/rc2.d,rc3.d,rc4.d,rc5.d中的StreamServer服务启动命令文件,将该命令文件的启动顺序改到mysqld服务之后,S+数字 该数字在mysqld服务之后
删除地址软链接使用 rm -rf symbolic_name
ln -s /etc/init.d/StreamServer /etc/rc3.d/S90StreamServer
ln -s /etc/init.d/StreamServer /etc/rc5.d/S90StreamServer

2)执行出现错误 /bin/sh^M: bad interpreter:没有那个文件或目录解决
错误分析:
因为我在windows下编辑的脚本,所以有可能有不可见字符。
脚本文件是DOS格式的, 即每一行的行尾以 来标识, 其ASCII码分别是0x0D, 0x0A.
可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的

解决方法是使用dos2unix命令转一下,即输入: dos2unix 文件名
dos2unix /opt/SocketServer/bin/StreamServer
dos2unix /opt/SocketServer/bin/wrapper

小讯
上一篇 2024-12-25 21:48
下一篇 2024-12-26 20:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/3977.html