如何在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)
酷番叔酷番叔
上一篇 1天前
下一篇 1天前

相关推荐

  • Linux文件夹权限如何查看?

    核心查看命令ls -l 命令(最常用)操作步骤:ls -ld 文件夹名称 # 查看指定文件夹ls -l # 查看当前目录下所有项目的权限(含文件和文件夹)输出示例:drwxr-xr– 2 user group 4096 Jun 10 15:30 Documents权限字段解析:首字符 d:表示类型(d=文件夹……

    2025年7月8日
    2300
  • linux 如何限制ip访问端口号

    iptables 或 firewalld 配置规则,限制特定 IP

    2025年8月16日
    700
  • Linux如何用命令行刻录光盘?

    准备工作硬件检查确认光驱支持刻录功能(设备名通常为 /dev/sr0 或 /dev/cdrom),插入空白光盘(CD-R、DVD±R、BD-R 等),安装刻录工具根据发行版选择安装命令:# Debian/Ubuntusudo apt install wodim brasero k3b growisofs# Fe……

    2025年7月28日
    1600
  • Linux系统配置核心etc目录如何访问?

    通过命令行进入/etc目录(推荐)这是最高效且最常用的方式,适用于所有Linux发行版(Ubuntu、CentOS、Debian等):打开终端:快捷键:Ctrl + Alt + T(大多数桌面环境通用),或通过应用菜单搜索“Terminal”,使用cd命令切换目录:输入以下命令,按回车执行:cd /etc成功进……

    2025年7月25日
    1700
  • Linux系统中,如何准确区分ARM与x86架构处理器类型?

    在Linux系统中区分ARM和x86架构是系统管理、软件开发和硬件适配中的基础需求,这两种架构因设计理念不同(x86为CISC,ARM为RISC),在指令集、硬件实现和系统标识上存在显著差异,以下从多个维度详细说明如何通过Linux系统工具和文件信息进行区分,通过系统架构标识命令检测最直接的方法是使用Linux……

    2025年8月24日
    700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信