java war包 在linux和win 10环境下注册成服务

1.win10环境下

 

(1)注册tomact服务,在cmd中运行如下语句

语句1:cd F:\项目后台\apache-tomcat-8.5.30\bin

语句2:F:\项目后台\apache-tomcat-8.5.30\bin>service.bat  install  bjapptomact

注:服务名称为 bjapptomact

但在系统服务显示为 Apache Tomcat 8.5 bjapptomact,如下

打开属性详情如下:

原因:打开 tomcat下的service.bat文件可看到,如下:

服务显示名称。

服务描述可修改。

(2)移除tomact服务,在cmd中运行如下语句

F:\项目后台\apache-tomcat-8.5.30\bin>service.bat remove  bjapptomact

注册时tomact需要存在service.bat文件,如果tomact是安装版本的不需要注册tomact服务。

 

 

2.CentOS 7环境下 将tomcat包配置成系统服务

(1)添加在/etc/init.d 自启服务目录下(第一种方法)

     1-文件准备

            将/usr/local/tomcat/apache-tomcat-8.5.47-init.d/bin/catalina.sh 文件拷贝到  /etc/init.d/ ,并重命名为tomcatinit

执行 cp catalina.sh /etc/init.d/tomcatinit

     2-编辑文件

执行 vim tomcatinit

3-添加tomcatinit为系统服务

未添加tomcat为系统服务之前,查看系统服务chkconfig --list,发现并没有tomcat服务,如下图

执行 chkconfig --add tomcatinit 将此设置成系统服务

执行命令chkconfig --list,如下图

4-启动和关闭服务

启动服务:service tomcatinit start

关闭服务:service tomcatinit stop

 

5-设置tomcat服务随系统启动而自启动(设置成系统自启动服务)

直接在/etc/rc.local文件最后添加语句/usr/local/tomcat/apache-tomcat-8.5.47-init.d/bin/startup.sh,重启系统,运行ps -ef|grep java,出现如下信息,则说明tomcat服务自启动了!

关闭tomcat服务,运行ps -ef|grep java

 

 

(2)CentOS7 systemctl管理服务(第二种方法)

 CentOS7开始,从/etc/init.d脚本改为了systemctl管理服务。
 本文记录了把tomcat8加入systemd管理的步骤。

1-首先,需要为tomcat配置pid

编辑 catalina.sh脚本文件

# vim catalina.sh

添加 CATALINA_PID="$CATALINA_BASE/tomcatsystemctl.pid",如下图

 

2.创建tomcatsystemctl.service文件

在 /usr/lib/systemd/system  目录下创建 tomcatsystemctl.service

文件内容:

[Unit]
Description=tomcatsystemctl
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_144"
Environment='CATALINA_PID=/usr/local/tomcat/apache-tomcat-8.5.47-systemctl/bin/tomcatsystemctl.pid'
Environment='CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.47-systemctl/'
Environment='CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.47-systemctl/'
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

WorkingDirectory=/usr/local/tomcat/apache-tomcat-8.5.47-systemctl/

ExecStart=/usr/local/tomcat/apache-tomcat-8.5.47-systemctl/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_144" 这里要配置环境变量,在/etc/profile中的配置在系统服务中不生效。

 

3-设置为开机启动

修改tomcatsystemctl.service文件后需要执行下面命令使其生效:
 systemctl daemon-reload

启动tomcat服务 : systemctl start tomcatsystemctl.service

设置开机自启动 : systemctl enable tomcatsystemctl.service

停止开机自启动 :systemctl disable tomcatsystemctl.service

查看服务当前状态 :systemctl status tomcatsystemctl.service

重新启动服务 : systemctl restart tomcatsystemctl.service
查看所有已启动的服务 :systemctl list-units --type=service

 

++++++++++++++未遇到此情况 +++++++++++++++++
这里有一个坑,就是centos7部署tomcat8,启动tomcat的时候会发现启动很慢,经过查询发现

主要原因:
就是通过随机数生成秘钥的时候卡住了,导致Tomcat启动慢或失败。

解决办法:

1)在Tomcat环境中解决 配置完成不生效;
可以通过配置JRE使用非阻塞的Entropy Source。
在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。
加入后再启动Tomcat,整个启动耗时下降到Server startup in 2912 ms。
2)【已验证】在JVM环境中解决
打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:
securerandom.source=file:/dev/urandom
替换成
securerandom.source=file:/dev/./urandom

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值