天天看点

Java Service Wrapper 部署Java程序为Linux服务

目的

操作系统:centos 7

本文实现的功能和Java Service Wrapper 部署Java程序为Windows服务的功能是一样的,是在linux环境实现的。

linux和windows的实现都是差不多的,配置信息都一样,稍微更改一下就可以了。

Java Service Wrapper

官网下载地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp 下载linux版本的

百度网盘下载:链接:https://pan.baidu.com/s/1NWrqV41HV8yHaHrLpE6v9A 提取码:s897

配置wrapper

linux下安装wrapper,同样需要安装jdk,安装过程这里也不操作了。

centos下安装jdk:使用CentOS7卸载自带jdk安装自己的JDK1.8

操作前关闭SeLinux和防火墙

#关闭SeLinux
vi /etc/sysconfig/selinux,将SELINUX的值改为disable,注意不要把SELINUXTYPE这个改了。改完之后保存,重启系统(shutdown -r now)

#关闭防火墙
service firewalld stop
systemctl disable firewalld.service
           

一、创建程序目录

#执行下面命令创建目录,这个目录名根据自己的需要创建
mkdir -p /var/myapp
mkdir -p /var/myapp/bin
mkdir -p /var/myapp/conf
mkdir -p /var/myapp/logs
           

二、复制wrapper-linux-x86-64-3.5.30.tar.gz文件到 /usr/lib 文件夹下,执行安装

wrapper-linux-x86-64-3.5.30.tar.gz是下载的wrapper文件,将wrapper文件复制到user/lib文件夹下面
cd /usr/lib
tar -zxvf wrapper-linux-x86-64-3.5.30.tar.gz
           

三、复制wrapper-linux-x86-64-3.5.30中已安装的文件到第一步创建的文件夹中

cd wrapper-linux-x86-64-3.5.30/
cp bin/wrapper /var/myapp/bin/
cp src/bin/sh.script.in /var/myapp/bin/
cp lib/* /var/myapp/bin
cp conf/wrapper.conf /var/myapp/conf/
           

四、将你的java程序jar包及java程序所需要的所有第三方jar包全部复制到 /var/myapp/bin 目录中

五、重命名启动脚本并设置文件权限

cd /var/myapp/bin
mv sh.script.in myapp-daemon
chmod +x myapp-daemon
           

六、编辑wrapper.conf文件

cd /var/myapp/conf/
vi wrapper.conf
           
#以下配置只是基本配置,额外的配置请查看官方文档
#修改值如下:
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperJarApp
#依赖的jar包,第一个wrapper.war是必须的,第二个是你自己打的jar包,后面是其他依赖的jar包,classpath.*按1~n依次递增
#按你项目的依次添加jar包,有多少添加多少,序号要顺序依次递增.....
wrapper.java.classpath.1=../bin/wrapper.jar
wrapper.java.classpath.2=../bin/myapp.jar
wrapper.java.classpath.3=../bin/aopalliance-1.0.jar
wrapper.java.classpath.4=../bin/commons-codec-1.5.jar
wrapper.java.classpath.5=../bin/commons-dbcp-1.2.2.jar
wrapper.java.classpath.6=../bin/commons-lang3-3.1.jar
wrapper.java.classpath.7=../bin/commons-logging-1.1.3.jar
wrapper.java.classpath.8=../bin/commons-pool-1.3.jar

wrapper.java.library.path.1=../bin
wrapper.java.initmemory=512
wrapper.java.maxmemory=8192
wrapper.app.parameter.1=../bin/myapp.jar
wrapper.java.additional.1=-Djava.net.preferIPv4Stack=true

#日志配置,按天生成日志
wrapper.logfile=../logs/wrapper.YYYYMMDD.log
wrapper.logfile.rollmode=DATE
           

按上面的配置修改完之后,保存文件。

七、编辑启动脚本文件 myapp-daemon

vi /var/myapp/bin/myapp-daemon
           
# 修改以下内容:
APP_NAME="myapp-daemon"
APP_LONG_NAME="myapp-daemon"
USE_SYSTEMD=true
           

八、安装配置服务

/var/myapp/bin/myapp-daemon install
#开机启动
systemctl enable myapp-daemon.service
           

九、在终端窗口中手动启动服务,确保服务配置成功

/var/myapp/bin/myapp-daemon console
           

通过该操作,就可以在终端窗口查看你的服务的启动信息,会显示你程序的启动状态以及程序的打印的日志信息,该信息在logs文件夹下的日志文件里面也能查看到,当服务启动失败时,就可以查看该信息,找出失败信息。

最后服务myapp-daemon的操作命令:

systemctl start myapp-daemon  #服务启动
systemctl stop myapp-daemon   #服务停止
systemctl status myapp-daemon #查看服务状态
           

继续阅读