--------------------------------------tomcat注册为systemctl
步骤:1、catalina.sh文件,在catlinabase行下添加pid配置。2、tomcat.service放在/usr/lib/systemd/system下。
------catalina.sh内容添加CATALINA_PID="$CATALINA_BASE/tomcat.pid"(注意上下位置):
# Copy CATALINA_BASE from CATALINA_HOME if not already set
[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
# 只添加下面这句,上下为catalina.sh已有的,用来确定位置
CATALINA_PID="$CATALINA_BASE/tomcat9.pid"
# Ensure that any user defined CLASSPATH variables are not used on startup,
# but allow them to be specified in setenv.sh, in rare case when it is needed.
CLASSPATH=
-------tomcat.service文件示例:
[Unit]
Description=tomcat9
After=syslog.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/tools/jdk1.8.0_161"
ExecStart=/opt/apache-tomcat-9.0.26/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=root
Group=root
[Install]
WantedBy=multi-user.target
-------tomcat.service文件配置注意
After为在哪个服务后面启动。如果需要mysql数据库,tomcat可配置在mysql后启动(After=mariadb.service)。
Environment="JAVA_HOME=/usr/local/tools/jdk1.8.0_161"必须配置,etc/profile中的配置在此处不起作用。
ExecStart为启动地址。
--------------------------------------systemctl命令
--修改service文件后,需刷新
systemctl daemon-reload
--关闭和打开
systemctl stop tomcat.service
systemctl start tomcat.service
--是否开机自启
systemctl disable tomcat.service
systemctl enable tomcat.service