tomcat注册为服务,以下是tomcat.service配置文件
vim /lib/systemd/system/tomcat.service
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/jdk
Environment=CATALINA_PID=/usr/local/tomcat/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
用system start tomcat.servie启动tomcat时,查看日志catalina.out一直卡在:
10-Dec-2019 10:12:09.620 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/ROOT]
google了半天,发现棒子有篇文章提到:systemctl tomcat no bind 8005 port - Voyager of Linux
在Service下增加了一个:WorkingDirectory=/home/systemv/was1
更改成我的配置后:
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
WorkingDirectory=/usr/local/tomcat
Environment=JAVA_HOME=/usr/local/jdk
Environment=CATALINA_PID=/usr/local/tomcat/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
再次重启tomcat
systemctl daemon-reload
systemctl stop tomcat.service
systemctl start tomcat.service
完美解决
摘自:http://linux.systemv.pe.kr/systemctl-tomcat-no-bind-8005-port/