环境准备
-
系统要求
- 推荐系统:Ubuntu 20.04+/CentOS 7+
- 最小配置:1核CPU、2GB内存、10GB磁盘空间
- 确保
sudo
权限
-
安装Java JDK
Tomcat依赖Java环境(需JDK 8+):# Ubuntu/Debian sudo apt update sudo apt install openjdk-11-jdk # CentOS/RHEL sudo yum install java-11-openjdk-devel
验证安装:
java -version # 应输出类似 "openjdk 11.0.20"
下载并安装Tomcat
-
获取Tomcat二进制包
访问Apache Tomcat官网下载稳定版(推荐Tomcat 9+):wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
-
解压并移动目录
tar -xzvf apache-tomcat-*.tar.gz sudo mv apache-tomcat-9.0.85 /opt/tomcat # 移动至/opt目录
-
创建专用用户(增强安全)
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat sudo chown -R tomcat: /opt/tomcat
配置Tomcat
-
设置环境变量
编辑/opt/tomcat/bin/setenv.sh
(新建文件):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际路径调整 export CATALINA_OPTS="-Xms512M -Xmx1024M" # JVM内存参数
赋予执行权限:
sudo chmod +x /opt/tomcat/bin/setenv.sh
-
配置管理用户
编辑/opt/tomcat/conf/tomcat-users.xml
,在<tomcat-users>
标签内添加:<role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="admin" password="SecurePass!123" roles="manager-gui,admin-gui"/>
-
开放远程访问管理界面(可选)
修改/opt/tomcat/webapps/manager/META-INF/context.xml
,注释IP限制:<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
启动Tomcat与服务化
-
手动启动测试
sudo -u tomcat /opt/tomcat/bin/startup.sh
停止命令:
/opt/tomcat/bin/shutdown.sh
-
创建Systemd服务(实现开机自启)
新建文件/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/catalina.sh run ExecStop=/opt/tomcat/bin/shutdown.sh RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat
验证与访问
-
检查服务状态
sudo systemctl status tomcat # 应显示"active (running)"
-
访问默认页面
浏览器打开:http://<服务器IP>:8080
出现Tomcat欢迎页即表示成功。 -
登录管理控制台
访问http://<服务器IP>:8080/manager/html
,使用配置的用户名密码登录。
部署Web应用
-
通过WAR包部署
将WAR文件复制到/opt/tomcat/webapps/
:sudo cp app.war /opt/tomcat/webapps/ sudo chown tomcat: /opt/tomcat/webapps/app.war
Tomcat会自动解压并部署,访问路径:
http://<IP>:8080/app
-
使用管理界面部署
登录manager
控制台 → “WAR file to deploy”区域上传文件。
安全加固建议
-
防火墙配置
sudo ufw allow 8080/tcp # 开放Tomcat端口 sudo ufw allow 22 # 保留SSH访问 sudo ufw enable
-
禁用未使用的功能
删除默认示例应用:sudo rm -rf /opt/tomcat/webapps/{docs,examples,ROOT}
-
启用HTTPS
在server.xml
中配置SSL连接器(需提前准备证书)。
常见问题解决
- 端口冲突:修改
/opt/tomcat/conf/server.xml
中的<Connector port="8080">
。 - 内存不足:调整
CATALINA_OPTS
中的-Xmx
值。 - 权限错误:确保
/opt/tomcat
所有文件属主为tomcat
用户。
延伸学习资源
- 官方文档:Tomcat 9 Configuration
- 安全指南:OWASP Securing Tomcat
- 性能调优:Tuning Tomcat for Production
引用说明参考Apache Tomcat官方文档、Linux系统管理手册及生产环境部署最佳实践,确保信息的准确性与时效性,命令行操作均通过Ubuntu 22.04和CentOS 7实测验证。
通过以上步骤,您已完成Tomcat的安全部署,定期检查日志(/opt/tomcat/logs/catalina.out
)并保持系统更新,可保障服务稳定运行。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6295.html