在 Linux 系统中开启 Tomcat 通常有几种方式,具体取决于你的安装方式(解压版、rpm/deb 包安装等)以及你是否配置了 systemd 服务,以下是几种常见且标准的操作方法:
使用启动脚本(最常用,适用于解压版安装)
这是最常见的情况,尤其是从 Apache 官网下载并解压安装的 Tomcat。
-
进入 Tomcat 的 bin 目录
假设你的 Tomcat 安装在/opt/tomcat(请根据你的实际安装路径修改):cd /opt/tomcat/bin
-
赋予执行权限(如果尚未授权)
chmod +x .sh
-
启动 Tomcat
运行startup.sh脚本:./startup.sh
-
验证是否启动成功
- 查看日志文件:
tail -f ../logs/catalina.out
如果看到类似
Server startup in [xxxx] ms的日志,说明启动成功。 - 或者使用
ps命令查看 Java 进程:
ps -ef | grep tomcat
- 查看日志文件:
使用 systemd 服务(推荐用于生产环境)
如果你希望 Tomcat 像其他系统服务一样通过 systemctl 管理(支持开机自启、日志管理等),建议配置 systemd 服务。
-
创建服务文件
编辑/etc/systemd/system/tomcat.service:sudo vi /etc/systemd/system/tomcat.service
-
写入以下内容(请根据实际路径修改
JAVA_HOME和CATALINA_HOME):[Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 修改为你的 JDK 路径 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid # 修改为你的 Tomcat 路径 Environment=CATALINA_HOME=/opt/tomcat # 修改为你的 Tomcat 路径 Environment=CATALINA_BASE=/opt/tomcat # 修改为你的 Tomcat 路径 Environment='CATALINA_OPTS=-Xms512m -Xmx1024m -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
-
重载 systemd 配置
sudo systemctl daemon-reload
-
启动 Tomcat
sudo systemctl start tomcat
-
设置开机自启
sudo systemctl enable tomcat
-
查看状态
sudo systemctl status tomcat
后台启动(防止终端关闭导致 Tomcat 停止)
如果你直接使用 ./startup.sh 但希望它在后台运行,即使你关闭 SSH 连接也不停止,可以使用 nohup:
nohup /opt/tomcat/bin/startup.sh &
⚠️ 注意:这种方式不如 systemd 管理规范,日志可能不易追踪。
常见问题排查
-
启动失败,提示权限问题
- 确保
bin目录下的脚本有执行权限:chmod +x .sh - 确保 Tomcat 目录对当前用户有读写权限。
- 确保
-
端口被占用
- 检查 8080 端口是否被其他程序占用:
netstat -tuln | grep 8080
- 如果占用,修改
conf/server.xml中的端口号,或停止占用该端口的服务。
- 检查 8080 端口是否被其他程序占用:
-
JDK 未配置
- 确保系统已安装 JDK,并正确设置
JAVA_HOME环境变量。 - 可以在
bin/setenv.sh文件中显式指定JAVA_HOME。
- 确保系统已安装 JDK,并正确设置
-
查看日志定位错误
- 主要日志文件位于
logs/catalina.out,启动失败时请查看此文件获取详细错误信息。
- 主要日志文件位于
✅ 推荐做法:
- 开发环境:直接使用
./startup.sh - 生产环境:配置 systemd 服务,便于管理和监控
如有具体错误日志,欢迎提供,我可以帮你进一步分析。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/486233.html



