启动前的准备工作
-
安装Java环境
Tomcat依赖Java,需先安装JDK:sudo apt update sudo apt install openjdk-11-jdk # 以Ubuntu为例,推荐JDK 8/11/17
验证安装:
java -version
-
下载并解压Tomcat
- 从Apache Tomcat官网下载稳定版(如Tomcat 9/10):
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.24/bin/apache-tomcat-10.1.24.tar.gz
- 解压到目标目录(如
/opt
):sudo tar -xzvf apache-tomcat-10.1.24.tar.gz -C /opt
- 从Apache Tomcat官网下载稳定版(如Tomcat 9/10):
-
配置环境变量(可选)
设置CATALINA_HOME
指向Tomcat目录:echo 'export CATALINA_HOME=/opt/apache-tomcat-10.1.24' >> ~/.bashrc source ~/.bashrc
启动Tomcat的详细步骤
方法1:通过启动脚本(推荐)
-
进入Tomcat的
bin
目录:cd /opt/apache-tomcat-10.1.24/bin
-
赋予执行权限(首次运行需执行):
chmod +x *.sh
-
启动Tomcat:
./startup.sh
成功提示:
Tomcat started.
方法2:作为服务启动(生产环境适用)
-
创建系统服务文件:
sudo nano /etc/systemd/system/tomcat.service
-
写入以下配置(根据路径修改):
[Unit] Description=Apache Tomcat After=network.target [Service] Type=forking User=tomcat # 建议创建专用用户 Group=tomcat Environment="CATALINA_HOME=/opt/apache-tomcat-10.1.24" ExecStart=/opt/apache-tomcat-10.1.24/bin/startup.sh ExecStop=/opt/apache-tomcat-10.1.24/bin/shutdown.sh [Install] WantedBy=multi-user.target
-
启动并设置开机自启:
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat
验证Tomcat是否运行
-
检查进程:
ps -ef | grep tomcat # 应看到Java进程
-
查看日志:
tail -f $CATALINA_HOME/logs/catalina.out # 监控启动日志
成功标志:
Server startup in [X] milliseconds
-
访问默认页面:
浏览器打开http://服务器IP:8080
,出现Tomcat欢迎页即表示成功。
常见问题解决
-
端口冲突(如8080被占用):
修改$CATALINA_HOME/conf/server.xml
中的<Connector port="8080">
,重启Tomcat。 -
权限不足:
用chown
将Tomcat目录授权给专用用户(非root):sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat sudo chown -R tomcat:tomcat /opt/apache-tomcat-10.1.24
-
启动失败:
检查日志catalina.out
,常见原因包括:- Java未安装或版本不兼容
- 环境变量
CATALINA_HOME
未正确设置 - 应用部署错误(如WAR包损坏)
安全建议
- 避免使用root用户:
始终通过普通用户(如tomcat
)运行Tomcat,降低安全风险。 - 防火墙配置:
开放必要端口(如8080):sudo ufw allow 8080/tcp
- 删除默认应用(生产环境必做):
清除webapps
目录下的示例项目:rm -rf $CATALINA_HOME/webapps/{docs,examples,ROOT}
通过上述步骤,您已成功在Linux上启动Tomcat,定期检查日志和更新版本可保障服务稳定,对于复杂场景(如集群部署),请参考Tomcat官方文档进一步优化。
引用说明基于Apache Tomcat 10官方文档、Linux系统管理手册及生产环境部署最佳实践,关键步骤已通过Ubuntu 22.04/CentOS 7验证,确保可复现性,技术细节来源:
- Apache Tomcat官方指南:https://tomcat.apache.org/tomcat-10.1-doc/
- Linux Systemd手册:https://www.freedesktop.org/software/systemd/man/
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8468.html