准备条件:
1、安装jdk环境、配置jdk的环境变量
2、安装tomcat、配置tomcat的环境变量
一、配置tomcat启动参数
###tomcat增加启动参数、在tomca/bin 目录下面,增加 setenv.sh 配置,catalina.sh启动的时候会调用;
cd /opt/java/tomcat/bin
vim setenv.sh
##添加如下,如下内容:
# 使用的jdk目录
export JAVA_HOME=/opt/java/jdk
# 使用的Tomcat目录
export CATALINA_HOME=/opt/java/tomcat
# JAVA_OPTS参数需要CATALINA_PID参数
export CATALINA_PID="$CATALINA_HOME/tomcat.pid"
# Tomcat的JVM参数设置
export JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
##并且赋予可执行权限
chmod a+x setenv.sh
##查看PID是否生效
##启动或关闭tomcat出现如下内容
Using CATALINA_BASE: /opt/java/tomcat
Using CATALINA_HOME: /opt/java/tomcat
Using CATALINA_TMPDIR: /opt/java/tomcat/temp
Using JRE_HOME: /opt/java/jdk/jre
Using CLASSPATH: /opt/java/tomcat/bin/bootstrap.jar:/opt/java/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /opt/java/tomcat/tomcat.pid
##启动tomcat
./startup.sh 或sh bin/startup.sh
##查看/opt/java/tomcat是否有tomcat.pid文件
cd /opt/java/tomcat
ls
##关闭tomcat
./shutdown.sh
二、配置tomcat启动文件
####若成功,配置tomcat启动文件
cd /usr/lib/systemd/system
vim tomcat.service
##添加如下内容
[Unit]
Description=Apache Tomcat 8.5.28
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/opt/java/tomcat/tomcat.pid
ExecStart=/opt/java/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
##修改tomcat.service文件后需要执行下面命令使其生效:
systemctl daemon-reload
##启动服务,如果服务启动不成功请看补充
systemctl start tomcat
##查看测试出现:tcp6 0 0 :::8080 :::* LISTEN 20 664/java
netstat -tunlp
systemctl stop tomcat
##若无错误异常提示,可成功运行
##设置开机自启动
systemctl enable tomcat.service
systemctl daemon-reload
##查看服务当前状态
systemctl status tomcat.service
########################成功运行###########
但是在systemctl stop tomcat后
##查看服务当前状态
systemctl status tomcat.service
会报错 active:failed
但是明明tomcat 确实关闭了
最后终于找到解决办法,原来是tomcat.service文件内添加一行,将143代码 标记为成功即可
[Service]
Type=forking
SuccessExitStatus=143
其中:systemctl启动tomcat访问_systemctl start tomcat-CSDN博客
Systemd tomcat.service失败,没有错误 - IT屋-程序员软件开发技术分享社区
十分有帮助