如何在Linux环境下启动Tomcat服务?

在Linux系统下启动Tomcat是Java Web应用部署的基础操作,整个过程涉及环境准备、服务启动、配置检查及问题排查等环节,以下从环境配置到启动操作,再到常见问题处理,详细说明完整流程。

如何在linux下启动tomcat

环境准备:确保Java与Tomcat就绪

Tomcat是Java应用服务器,依赖Java运行环境(JRE)或Java开发工具包(JDK),启动前需确认Java环境已正确配置,并准备好Tomcat安装包。

检查Java环境

Linux系统需安装JDK 8或更高版本(Tomcat 10需JDK 11+),通过以下命令检查Java是否安装及版本:

java -version

若未安装,以Ubuntu/Debian系统为例,使用apt安装:

sudo apt update
sudo apt install openjdk-11-jdk -y

CentOS/RHEL系统则使用yum

sudo yum install java-11-openjdk-devel -y

安装后需配置JAVA_HOME环境变量(若未自动配置),编辑/etc/profile文件:

sudo vim /etc/profile

在文件末尾添加:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根据实际安装路径调整
export PATH=$JAVA_HOME/bin:$PATH

保存后执行source /etc/profile使配置生效,再次运行java -version确认输出版本信息。

安装Tomcat

从Apache Tomcat官网(https://tomcat.apache.org/)下载对应版本的tar.gz安装包(如Tomcat 10),或使用wget命令下载:

wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.15/bin/apache-tomcat-10.1.15.tar.gz

下载后解压到指定目录(如/opt):

sudo tar -zxvf apache-tomcat-10.1.15.tar.gz -C /opt/
sudo mv /opt/apache-tomcat-10.1.15 /opt/tomcat10  # 重命名方便管理

设置Tomcat目录权限(避免因权限问题导致启动失败):

sudo chown -R $USER:$USER /opt/tomcat10  # 将所有者改为当前用户
chmod +x /opt/tomcat10/bin/*.sh  # 赋予bin目录下脚本执行权限

启动Tomcat服务

Tomcat启动方式分为前台启动和后台启动,根据实际需求选择。

前台启动(适合调试)

进入Tomcat的bin目录,执行startup.sh脚本:

如何在linux下启动tomcat

cd /opt/tomcat10/bin
./startup.sh

启动后终端会输出类似信息:

Using CATALINA_BASE:   /opt/tomcat10
Using CATALINA_HOME:   /opt/tomcat10
Using CATALINA_TMPDIR: /opt/tomcat10/temp
Using JRE_HOME:        /usr/lib/jvm/java-11-openjdk-amd64
Using CLASSPATH:       /opt/tomcat10/bin/bootstrap.jar:/opt/tomcat10/bin/tomcat-juli.jar
Tomcat started.

此时Tomcat进程会占用终端,关闭终端或按Ctrl+C会停止服务,适合临时调试或查看启动日志。

后台启动(适合生产环境)

若需让Tomcat在后台持续运行,可使用nohup命令结合&符号:

nohup ./startup.sh > /opt/tomcat10/logs/startup.log 2>&1 &

参数说明:

  • nohup:忽略挂断信号,即使关闭终端进程仍继续运行;
  • >:将标准输出重定向到startup.log文件;
  • 2>&1:将错误输出合并到标准输出;
  • &:让进程在后台执行。

启动后可通过ps命令查看Tomcat进程:

ps -ef | grep tomcat

若看到包含org.apache.catalina.startup.Bootstrap的进程,则表示启动成功。

常用Tomcat管理命令

Tomcat的bin目录提供多个管理脚本,以下是常用命令及其作用:

命令 作用说明 示例
./startup.sh 启动Tomcat服务(前台/后台) nohup ./startup.sh &
./shutdown.sh 正常停止Tomcat服务 ./shutdown.sh
./catalina.sh run 前台启动并实时打印日志(适合调试) ./catalina.sh run
./version.sh 查看Tomcat版本信息 ./version.sh

验证Tomcat启动状态

启动后需通过访问服务、检查端口及日志确认Tomcat正常运行。

浏览器访问

在浏览器地址栏输入http://Linux服务器IP:8080(若本地测试则为http://localhost:8080),若看到Tomcat默认欢迎页面(带有“Tomcat Version 10.1.15”等字样的页面),则表示启动成功。

检查端口监听

Tomcat默认监听8080端口,使用netstatss命令检查端口是否被占用:

netstat -tuln | grep 8080
# 或
ss -tuln | grep 8080

若输出类似tcp6 0 0 :::8080 :::* LISTEN,则表示端口正常监听。

查看启动日志

Tomcat的日志文件存放在logs目录,关键日志包括:

如何在linux下启动tomcat

  • catalina.out:记录Tomcat启动、运行及错误信息(前台启动时实时打印);
  • localhost.log:Web应用访问日志;
  • startup.log:后台启动时的启动日志(通过nohup重定向的文件)。

实时查看日志可使用tail命令:

tail -f /opt/tomcat10/logs/catalina.out

若启动过程中出现错误,日志会提示具体原因(如内存不足、端口冲突等)。

常见问题排查

启动Tomcat时可能遇到问题,以下是典型错误及解决方法:

错误提示 可能原因 解决方法
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 未配置JAVA_HOME环境变量 编辑/etc/profile~/.bashrc,添加JAVA_HOME并执行source
Port 8080 is already in use 8080端口被其他进程占用 执行netstat -tuln | grep 8080找到占用进程,用kill命令终止;或修改server.xml中的端口号
Permission denied 脚本无执行权限或Tomcat目录权限不足 执行chmod +x /opt/tomcat10/bin/*.shchown -R $USER:$USER /opt/tomcat10
Catalina.startup.Bootstrap fail JVM内存不足或Java版本不兼容 检查Java版本是否符合Tomcat要求,或在catalina.sh中调整JVM内存参数(如export JAVA_OPTS="-Xms512m -Xmx1024m"

配置优化(可选)

修改默认端口

编辑conf/server.xml文件,找到<Connector>标签,修改port属性:

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

保存后重启Tomcat,访问端口变为8081

设置开机自启动

通过systemd创建Tomcat服务,实现开机自启动:
创建服务文件/etc/systemd/system/tomcat.service

sudo vim /etc/systemd/system/tomcat.service
```  路径需根据实际安装位置调整):  
```ini
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="CATALINA_HOME=/opt/tomcat10"
Environment="CATALINA_BASE=/opt/tomcat10"
ExecStart=/opt/tomcat10/bin/startup.sh
ExecStop=/opt/tomcat10/bin/shutdown.sh
User=$USER
Group=$USER
[Install]
WantedBy=multi-user.target

保存后执行以下命令启用服务:

sudo systemctl daemon-reload
sudo systemctl enable tomcat  # 开机自启动
sudo systemctl start tomcat   # 立即启动

相关问答FAQs

Q1:启动Tomcat时提示“Neither the JAVA_HOME nor the JRE_HOME environment variable is defined”怎么办?
A:该错误表示系统未找到Java环境变量,需检查JAVA_HOME是否正确配置:执行echo $JAVA_HOME查看当前值,若为空或错误,编辑~/.bashrc文件(vim ~/.bashrc),添加export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64(路径需与实际Java安装路径一致),保存后执行source ~/.bashrc,重新启动Tomcat即可。

Q2:如何修改Tomcat的默认访问端口?
A:Tomcat默认端口为8080,修改方法为:编辑Tomcat安装目录下的conf/server.xml文件,找到<Connector port="8080" .../>这一行,将port属性的值改为目标端口(如8081),保存文件后重启Tomcat服务,重启后访问http://IP:新端口即可生效,需注意修改的端口不能与其他服务冲突,且防火墙需开放该端口。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/20894.html

(0)
酷番叔酷番叔
上一篇 2025年8月31日 13:43
下一篇 2025年8月31日 14:01

相关推荐

  • 如何安装linux视频教程

    先选择合适 Linux 发行版,再通过官网或可靠平台获取视频教程,按步骤

    2025年8月18日
    3600
  • Linux下载文件存在哪?

    默认下载位置大多数Linux发行版的图形界面环境默认下载目录为:/home/你的用户名/Downloads(例如用户名为 john,则路径是 /home/john/Downloads)可通过文件管理器直接访问此目录,通过浏览器查看下载位置不同浏览器的查看方法:Firefox点击右上角菜单 → 设置 → 文件与应……

    2025年7月31日
    3100
  • 如何使用Linux命令查看文本文件的行号?具体操作步骤和命令有哪些?

    在Linux系统中,查看文件行号是一项基础且常用的操作,无论是编程调试、日志分析还是文本编辑,行号都能帮助快速定位内容,本文将详细介绍多种查看Linux行号的方法,涵盖命令行工具、文本编辑器及图形化界面,并总结不同场景下的适用技巧,命令行工具查看行号命令行是Linux环境下最直接的操作方式,通过特定命令可快速显……

    2025年9月22日
    2000
  • Linux下如何查看进程号?有哪些常用命令和操作步骤?

    在Linux系统中,进程号(PID,Process ID)是操作系统中用于唯一标识每个进程的数字,管理进程、调试程序、监控系统资源时,都需要准确获取进程号,Linux提供了多种命令查看进程号,不同命令适用于不同场景,下面详细介绍这些方法及其实际应用,使用ps命令查看静态进程列表ps(Process Status……

    2025年9月25日
    2800
  • cdlinux如何连接使用u盘?

    在CDLinux系统中连接U盘是进行数据传输、文件备份或系统维护时的常见操作,但由于CDLinux通常为轻量级Live系统,其硬件识别和挂载机制与常规Linux发行版略有差异,以下是详细的操作步骤及注意事项,帮助用户顺利完成U盘连接与数据访问,第一步:确认系统已识别U盘将U盘插入计算机USB接口后,启动CDLi……

    2025年8月26日
    2700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信