在Linux系统中启动Tomcat服务器是Java Web应用部署的基础操作,整个过程需要确保Java环境正确、Tomcat安装完整,并掌握基本的启动命令和配置方法,以下将详细介绍具体步骤及注意事项,帮助用户顺利完成Tomcat服务器的启动。

环境准备:安装Java运行环境
Tomcat是基于Java的应用服务器,因此必须先安装JDK(Java Development Kit)或JRE(Java Runtime Environment),以主流的OpenJDK为例,不同Linux发行版的安装命令略有差异:
Ubuntu/Debian系统
# 更新软件包列表 sudo apt update # 安装OpenJDK 11(Tomcat 9/10推荐JDK 8+,11更佳) sudo apt install openjdk-11-jdk
CentOS/RHEL系统
# 安装EPEL仓库(若未安装) sudo yum install epel-release # 安装OpenJDK 11 sudo yum install java-11-openjdk-devel
验证Java安装
安装完成后,通过以下命令检查Java版本及环境变量是否配置正确:
java -version # 显示类似信息表示安装成功 # openjdk version "11.0.16" 2022-07-19 # OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu122.04) # OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu122.04, mixed mode, sharing) # 查看JAVA_HOME环境变量(若未自动配置,需手动设置,见下文) echo $JAVA_HOME
若JAVA_HOME为空,需手动配置环境变量(编辑/etc/profile或~/.bashrc文件,添加以下内容):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 路径需根据实际安装目录调整 export PATH=$JAVA_HOME/bin:$PATH source /etc.profile # 或 source ~/.bashrc 使配置生效
Tomcat下载与安装
下载Tomcat压缩包
从Apache Tomcat官方镜像站下载对应版本的Tomcat(以Tomcat 10为例,下载tar.gz压缩包):
# 进入用户目录(或自定义安装目录) cd ~ # 下载Tomcat 10(也可通过wget命令下载) curl -O https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.8/bin/apache-tomcat-10.1.8.tar.gz
解压并移动到指定目录
# 解压压缩包 tar -zxvf apache-tomcat-10.1.8.tar.gz # 移动到/usr/local/tomcat(推荐,避免权限问题) sudo mv apache-tomcat-10.1.8 /usr/local/tomcat # 赋予当前用户执行权限(避免sudo启动时权限冲突) sudo chown -R $USER:$USER /usr/local/tomcat
Tomcat目录结构说明
Tomcat安装目录下的主要文件夹及其作用如下(可通过表格清晰展示):
| 目录名 | 作用说明 |
|---|---|
| bin | 存放启动(startup.sh)、关闭(shutdown.sh)等脚本,以及jar包依赖文件 |
| conf | 存放服务器配置文件,如server.xml(核心配置)、web.xml(默认应用配置) |
| webapps | 存放Web应用程序,Tomcat启动后会自动部署此目录下的应用(如ROOT、examples) |
| logs | 存放日志文件,如catalina.out(启动日志)、localhost日志等 |
| temp | Tomcat运行时临时文件存放目录 |
| work | JSP编译后的临时文件存放目录,用于提升性能 |
| lib | 存放Tomcat运行所需的jar包,以及Web应用共用的库文件 |
启动Tomcat服务器
Tomcat提供了两种启动方式:前台启动(适合调试,实时查看日志)和后台启动(适合生产环境,退出终端后服务仍运行)。

前台启动
进入Tomcat的bin目录,执行startup.sh脚本:
cd /usr/local/tomcat/bin ./startup.sh
启动后,终端会显示类似信息:
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-11-openjdk-amd64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
此时Tomcat进程会占用终端,若关闭终端,Tomcat服务会停止,适合启动后查看日志排查问题,日志文件位于logs/catalina.out。
后台启动
(1)使用nohup命令(推荐)
nohup ./startup.sh > /dev/null 2>&1 &
nohup:表示忽略挂断信号,即关闭终端后进程仍运行;> /dev/null 2>&1:将标准输出和错误输出重定向到/dev/null(避免日志堆积),若需记录日志可替换为> logs/startup.log 2>&1;&:让命令在后台执行。
(2)使用startup.sh的&参数
./startup.sh &
但此方式不如nohup稳定,退出终端后可能被终止,建议配合disown命令使用:
./startup.sh && disown
验证Tomcat是否启动成功
通过以下方式验证:
- 方式1:检查进程是否运行
ps -ef | grep tomcat # 若看到包含"org.apache.catalina.startup.Bootstrap"的进程,表示启动成功
- 方式2:检查端口是否监听(Tomcat默认端口为8080)
netstat -tuln | grep 8080 # 或使用ss命令(CentOS 7+/Ubuntu 18.04+) ss -tuln | grep 8080 # 显示"LISTEN 0 128 *:8080"表示端口已监听
- 方式3:浏览器访问
在浏览器中输入http://服务器IP:8080,若看到Tomcat默认欢迎页面(带有Tomcat猫的图标),则表示启动成功。
配置防火墙(若需远程访问)
若Tomcat服务器需要远程访问(如通过浏览器访问),需确保Linux防火墙允许8080端口通信,不同防火墙工具的配置命令如下:

firewalld(CentOS 7+/RHEL 7+)
# 添加8080端口到永久区域 sudo firewall-cmd --permanent --add-port=8080/tcp # 重新加载防火墙规则 sudo firewall-cmd --reload # 检查端口是否开放 sudo firewall-cmd --list-ports
ufw(Ubuntu/Debian)
# 允许8080端口 sudo ufw allow 8080/tcp # 启用防火墙(若未启用) sudo ufw enable # 检查规则 sudo ufw status
iptables(旧版系统)
# 添加8080端口规则 sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT # 保存规则(CentOS 6: service iptables save; Ubuntu: iptables-save > /etc/iptables/rules.v4) sudo service iptables save
常见问题排查
启动时提示“Permission denied”
原因:Tomcat脚本或目录权限不足,或当前用户无执行权限。
解决:赋予bin目录下脚本执行权限:
chmod +x /usr/local/tomcat/bin/*.sh
启动后无法访问8080端口
原因:可能是防火墙未开放端口、Tomcat未正确启动(进程存在但端口未监听)或端口被占用。
解决:
- 检查端口占用:
netstat -tuln | grep 8080,若被其他进程占用,修改Tomcat端口(编辑conf/server.xml,修改<Connector port="8080"中的端口号); - 检查防火墙配置(见上文“配置防火墙”部分);
- 查看Tomcat日志:
tail -f /usr/local/tomcat/logs/catalina.out,定位错误信息。
相关问答FAQs
问题1:启动Tomcat时提示“Neither the JAVA_HOME nor the JRE_HOME environment variable is defined”,如何解决?
解答:该错误表示系统未找到JAVA_HOME环境变量,需手动配置JAVA_HOME,步骤如下:
- 确定JDK安装路径(可通过
ls /usr/lib/jvm/查看); - 编辑
/etc/profile文件:sudo vi /etc/profile,添加以下内容:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 替换为实际路径 export PATH=$JAVA_HOME/bin:$PATH
- 保存文件后执行
source /etc/profile使配置生效,重启Tomcat即可。
问题2:如何修改Tomcat的默认端口(从8080改为8081)?
解答:修改Tomcat配置文件中的端口配置即可,步骤如下:
- 编辑Tomcat核心配置文件:
vi /usr/local/tomcat/conf/server.xml; - 找到
<Connector port="8080" protocol="HTTP/1.1"这一行,将port="8080"改为port="8081"; - 保存文件后重启Tomcat:
./shutdown.sh && ./startup.sh; - 验证新端口:浏览器访问
http://服务器IP:8081,若能正常显示Tomcat欢迎页面,则修改成功,注意:若修改为80端口(HTTP默认端口),需确保当前用户有root权限,且防火墙允许80端口访问。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28402.html