环境:
腾讯云
CentOS 7.2
Tomcat 9.0
在网上查了很多资料,弄了很久的rc.local,最后还是用systemctl命令搞定的。
1、创建tomcat服务
在/etc/systemd/system目录下新建文件tomcat.service,如下:
{TOMCAT_HOME}是指实际的tomcat主目录,要绝对路径。
[Unit]
Description=tomcat, web server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile={TOMCAT_HOME}/tomcat.pid
ExecStart={TOMCAT_HOME}/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecQuit=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2、创建setenv.sh
在{TOMCAT_HOME}/bin中创建setenv.sh,并添加可执行权限,如下:
{JAVA_HOME}是指jdk的绝对路径。
export JAVA_HOME={JAVA_HOME}
export JRE_HOME={JAVA_HOME}/jre
export CATALINA_HOME={TOMCAT_HOME}
export CATALINA_BASE={TOMCAT_HOME}
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
3、用systemctl命令启动tomcat
systemctl start tomcat.service
如果成功执行,可以用
ps -ax|grep tomcat
命令查看,也可以尝试用浏览器访问。
(启动后等个十几秒左右)
4、用systemctl命令设置tomcat开机自启动
systemctl enable tomcat.service
尝试重启服务器,在用3中相同的方法测试tomcat是否成功执行。
关于systemctl命令的原理和用法可直接百度。