CentOS 7作为一款稳定可靠的服务器操作系统,被广泛用于部署Java应用程序,其中Tomcat作为轻量级Web服务器和Servlet容器,因其开源、高效的特点成为许多开发者的首选,本文将详细介绍在CentOS 7系统上运行Tomcat的完整流程,包括环境准备、安装配置、服务管理及常见问题处理,帮助用户快速搭建和运维Tomcat服务。

环境准备与依赖安装
在安装Tomcat之前,需确保系统满足基本要求并安装必要的依赖包,CentOS 7默认使用yum包管理器,可通过以下命令更新系统并安装Java开发工具包(JDK),因为Tomcat依赖于Java运行环境,执行sudo yum update -y更新系统软件包,然后安装OpenJDK(以JDK 8为例):sudo yum install java-1.8.0-openjdk-devel -y,安装完成后,通过java -version和javac -version验证Java环境是否配置成功,建议安装wget工具以便从官网下载Tomcat安装包:sudo yum install wget -y。
下载与解压Tomcat
Tomcat官方提供了二进制分发版,可直接下载解压使用,访问Apache Tomcat官网(https://tomcat.apache.org/)获取最新版本的tar.gz包,例如Tomcat 9,使用wget命令下载:wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz,下载完成后,将文件解压至指定目录,通常选择/opt目录:sudo tar -zxvf apache-tomcat-9.0.75.tar.gz -C /opt/,为方便管理,可创建软链接:sudo ln -s /opt/apache-tomcat-9.0.75 /opt/tomcat,解压后,Tomcat的核心目录结构包括bin(脚本文件)、conf(配置文件)、webapps(应用程序部署目录)等,需熟悉其基本用途。
配置环境变量
为方便全局使用Tomcat命令,需配置环境变量,编辑/etc/profile文件:sudo vi /etc/profile,在文件末尾添加以下内容:
export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
保存后执行source /etc/profile使配置生效,可通过echo $CATALINA_HOME验证环境变量是否设置成功,Tomcat的启动脚本startup.sh依赖于JAVA_HOME变量,若系统存在多个Java版本,需在catalina.sh中手动指定JAVA_HOME路径:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk。

启动与访问Tomcat
进入Tomcat的bin目录,执行./startup.sh启动服务,若启动成功,会显示日志信息,并监听默认的8080端口,可通过ps -ef | grep tomcat查看Tomcat进程,或使用netstat -tuln | grep 8080确认端口监听状态,在浏览器中访问http://服务器IP:8080,若看到Tomcat欢迎页面,则说明部署成功,首次启动时,建议检查logs/catalina.out日志文件,排查可能的启动错误,如端口冲突或权限不足。
配置Tomcat服务
为便于管理Tomcat的生命周期(如开机自启、停止、重启等),可将Tomcat注册为系统服务,在/etc/systemd/system/目录下创建tomcat.service文件:
[Unit]
Description=Apache Tomcat 9
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
注意:需提前创建tomcat用户并授权:sudo useradd -s /bin/false tomcat,sudo chown -R tomcat:tomcat /opt/tomcat,保存后执行sudo systemctl daemon-reload,然后通过sudo systemctl start tomcat启动服务,sudo systemctl enable tomcat设置开机自启。
部署Web应用与安全配置
Tomcat的Web应用程序通常放置在webapps目录下,直接将WAR包或解压后的应用文件夹放入即可自动部署,为增强安全性,建议修改默认配置:在conf/tomcat-users.xml中添加管理员账户,在conf/server.xml中修改默认端口(如将8080改为8081)或启用SSL,关闭manager应用(删除或重命名webapps/manager目录)以防止未授权访问,防火墙需放行Tomcat端口:sudo firewall-cmd --permanent --add-port=8080/tcp,sudo firewall-cmd --reload。

常见问题与维护
运行Tomcat时可能遇到内存不足、连接超时等问题,可通过调整conf/catalina.sh中的JVM参数(如-Xms512m -Xmx1024m)优化性能,定期清理logs目录下的日志文件,避免占用过多磁盘空间,若需升级Tomcat版本,建议先备份webapps和conf目录,然后停止服务,替换新版本并恢复配置文件。
FAQs
Q1:如何修改Tomcat的默认字符集?
A:在conf/server.xml中,找到<Connector>标签,添加URIEncoding="UTF-8"属性,<Connector port="8080" URIEncoding="UTF-8" />,重启Tomcat即可生效。
Q2:Tomcat启动时提示“Permission denied”错误怎么办?
A:通常是由于用户权限不足导致,确保执行startup.sh的用户有CATALINA_HOME目录的读写权限,或切换为tomcat用户运行:sudo -u tomcat /opt/tomcat/bin/startup.sh。