CentOS开机启动Tomcat的详细步骤和配置
一、前言
在CentOS系统中,Tomcat作为一种常用的Web应用服务器,可以通过多种方式实现开机自启动,本文将详细介绍如何在CentOS中通过修改开机脚本和使用systemd服务来实现Tomcat的开机自启动,并提供相关的FAQs以解决常见问题。

二、前置环境
1、JDK:Tomcat需要JDK环境,不同版本的Tomcat需要对应不同版本的JDK,本文以JDK 8为例。
yum install java1.8.0openjdk y
2、Tomcat:本文以Tomcat 9为例。
wget https://downloads.apache.org/tomcat/tomcat9/v9.0.76/bin/apachetomcat9.0.76.tar.gz tar xzvf apachetomcat9.0.76.tar.gz C /usr/local mv /usr/local/apachetomcat9.0.76 /usr/local/tomcat
三、配置Tomcat开机自启动
方法一:修改开机脚本
1、创建启动脚本
新建一个名为bootstartup.sh的文件,内容如下:
#!/bin/bash
# Tomcat startup script for the Tomcat server
# chkconfig: 345 80 20
# description: Start the tomcat deamon
. /etc/rc.d/init.d/functions
prog=tomcat9
JAVA_HOME=/usr/lib/jvm/java1.8.0openjdk
export JAVA_HOME
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
case "$1" in
start)
echo "Starting Tomcat..."
$CATALINA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat..."
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping Tomcat..."
$CATALINA_HOME/bin/shutdown.sh
sleep 2
echo "Starting Tomcat..."
$CATALINA_HOME/bin/startup.sh
;;
*)
echo "Usage: $prog {start|stop|restart}"
exit 1
;;
esac
exit 02、赋予执行权限

chmod +x /usr/local/tomcat/bin/bootstartup.sh
3、将脚本复制到/etc/rc.d/init.d/目录并命名为tomcat
cp /usr/local/tomcat/bin/bootstartup.sh /etc/rc.d/init.d/tomcat
4、设置开机自启动
chkconfig add tomcat chkconfig tomcat on
方法二:添加系统服务
1、在Tomcat的bin目录下新建setenv.sh文件
CATALINA_PID="/usr/local/tomcat/temp/tomcat.pid" export CATALINA_PID
2、编辑catalina.sh文件
打开catalina.sh文件,注释掉以下代码(如果存在):

# if [ z "$CATALINA_SH" ] ; then # CATALINA_SH="$CATALINA_HOME/bin/catalina.sh" # fi
添加以下内容:
if [ z "$CATALINA_PID" ] ; then
CATALINA_PID="$CATALINA_BASE/temp/tomcat.pid"
fi3、在/usr/lib/systemd/system目录下新建tomcat.service文件
[Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment="JAVA_HOME=/usr/lib/jvm/java1.8.0openjdk" PIDFile=/usr/local/tomcat/temp/tomcat.pid ExecStart=/usr/local/tomcat/bin/startup.sh ExecStop=/usr/local/tomcat/bin/shutdown.sh PrivateTmp=true [Install] WantedBy=multiuser.target
4、重新加载systemd管理的服务
systemctl daemonreload
5、设置开机自启动
systemctl enable tomcat
6、启动Tomcat服务
systemctl start tomcat
7、验证Tomcat是否启动成功
systemctl status tomcat ps ef | grep tomcat
四、验证与测试
1、重启系统并验证
reboot
系统重启后,检查Tomcat是否自动启动:
ps ef | grep tomcat
2、访问测试:在浏览器中输入http://<服务器IP>:8080,查看是否能正常访问Tomcat默认页面,如果不能访问,可能是防火墙问题,需开放端口:
firewallcmd permanent addport=8080/tcp firewallcmd reload
五、常见问题FAQs
Q1: Tomcat无法启动或启动失败怎么办?
A1: 检查以下几点:
1、确保JDK已正确安装并配置环境变量。
2、检查Tomcat日志(通常位于$CATALINA_HOME/logs目录下)中的报错信息。
3、确保setenv.sh文件中的CATALINA_PID路径正确。
4、确保Tomcat配置文件(如server.xml)配置正确。
5、确保端口8080未被其他进程占用。
6、确保防火墙已开放8080端口。
Q2: 如何更改Tomcat的默认端口?
A2: 编辑$CATALINA_HOME/conf/server.xml文件,找到以下内容:
<Connector port="8080" protocol="HTTP/1.1" ... />
将8080改为所需的端口号,然后保存并重启Tomcat服务,记得开放新端口的防火墙规则。
