在CentOS下稳定运行Tomcat需按以下步骤操作,涵盖环境准备、安装配置、权限管理及安全优化:
更新系统并安装Java
sudo yum update -y
sudo yum install java-1.8.0-openjdk-devel -y # 推荐JDK 8或11
java -version # 验证安装
下载并解压Tomcat
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.63/bin/apache-tomcat-9.0.63.tar.gz
sudo tar -xzf apache-tomcat-9.0.63.tar.gz -C /opt/
sudo mv /opt/apache-tomcat-9.0.63 /opt/tomcat # 移动到指定目录
设置环境变量
编辑/etc/profile,添加:
export CATALINA_HOME=/opt/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
执行source /etc/profile生效。
创建专用用户
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
sudo chown -R tomcat:tomcat /opt/tomcat # 确保目录权限归属
配置Systemd服务文件
创建/etc/systemd/system/tomcat.service,内容如下:
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
执行sudo systemctl daemon-reload后启用服务:
sudo systemctl enable tomcat
sudo systemctl start tomcat
配置防火墙
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
限制目录权限
sudo chmod -R 750 /opt/tomcat/conf # 限制配置文件访问
sudo chmod -R 755 /opt/tomcat/webapps # 允许应用部署
sudo chcon -R -t httpd_sys_content_t /opt/tomcat # SELinux上下文(若启用)
禁用不必要的功能
编辑conf/server.xml,注释掉AJP连接器(若无需使用):
<!-- <Connector port="8009" protocol="AJP/1.3" ... /> -->
访问测试
浏览器输入http://服务器IP:8080,查看Tomcat欢迎页面。
查看日志
日志路径:/opt/tomcat/logs/catalina.out,使用tail -f实时监控:
tail -f /opt/tomcat/logs/catalina.out
定期维护
webapps/ROOT目录下的无用文件。CATALINA_OPTS中的堆内存参数(如-Xms和-Xmx)。