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 0
2、赋予执行权限
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" fi
3、在/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服务,记得开放新端口的防火墙规则。