在Linux系统上安装Apache Tomcat是部署Java Web应用的常见需求,以下为详细安装指南,遵循最佳实践并兼顾安全性与性能:
环境准备
-
系统要求
- 支持主流Linux发行版(Ubuntu 20.04+/CentOS 7+)
- 内存≥1GB(生产环境建议≥2GB)
- 磁盘空间≥500MB
-
安装Java环境
# Ubuntu/Debian sudo apt update sudo apt install openjdk-11-jdk # CentOS/RHEL sudo yum install java-11-openjdk-devel # 验证安装 java -version
Tomcat安装步骤
下载Tomcat
# 下载最新稳定版(以Tomcat 10.0.27为例) wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz # 验证文件完整性 sha512sum apache-tomcat-*.tar.gz | grep $(curl -s https://downloads.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz.sha512)
安装与配置
# 创建安装目录 sudo mkdir /opt/tomcat sudo tar xzvf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components=1 # 创建专用用户(增强安全性) sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat sudo chown -R tomcat: /opt/tomcat # 设置环境变量 echo 'export CATALINA_HOME="/opt/tomcat"' | sudo tee /etc/profile.d/tomcat.sh source /etc/profile.d/tomcat.sh
配置系统服务
创建服务文件 /etc/systemd/system/tomcat.service
:
[Unit] Description=Apache Tomcat After=network.target [Service] User=tomcat Group=tomcat Environment="CATALINA_OPTS=-Xms512M -Xmx1024M" Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" 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 start tomcat sudo systemctl enable tomcat
防火墙与访问测试
-
开放端口
# Ubuntu sudo ufw allow 8080 # CentOS sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload
-
验证安装
- 浏览器访问:
http://服务器IP:8080
- 终端检查:
curl -I http://localhost:8080 # 应返回 HTTP 200 状态码
- 浏览器访问:
安全加固(关键步骤)
-
禁用默认管理页面
sudo rm -rf /opt/tomcat/webapps/docs /opt/tomcat/webapps/examples
-
配置用户权限
编辑conf/tomcat-users.xml
:<tomcat-users> <user username="admin" password="强密码" roles="manager-gui,admin-gui"/> </tomcat-users>
-
限制管理界面访问
修改webapps/manager/META-INF/context.xml
:<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|你的公网IP" />
常见问题解决
- 端口冲突:修改
conf/server.xml
中的<Connector port="8080">
- 内存不足:调整
CATALINA_OPTS
中的-Xmx
参数 - 权限错误:执行
sudo chmod +x /opt/tomcat/bin/*.sh
维护建议
- 日志监控
tail -f /opt/tomcat/logs/catalina.out
- 版本升级
- 定期查看Apache官网安全公告
- 备份
conf/
、webapps/
目录后再升级
引用说明:
- 官方安装文档:Apache Tomcat 10 Configuration
- Oracle Java安全指南:Securing the Java Runtime
- Linux系统权限管理:Filesystem Hierarchy Standard
通过以上步骤,您已完成安全可靠的Tomcat部署,建议定期审计配置并遵循最小权限原则,以保障生产环境安全。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8621.html