在Linux系统中如何正确打开Tomcat服务器的详细操作步骤?

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

linux如何打开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提供了两种启动方式:前台启动(适合调试,实时查看日志)和后台启动(适合生产环境,退出终端后服务仍运行)。

linux如何打开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端口通信,不同防火墙工具的配置命令如下:

linux如何打开tomcat服务器

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,步骤如下:

  1. 确定JDK安装路径(可通过ls /usr/lib/jvm/查看);
  2. 编辑/etc/profile文件:sudo vi /etc/profile,添加以下内容:
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 替换为实际路径
    export PATH=$JAVA_HOME/bin:$PATH
  3. 保存文件后执行source /etc/profile使配置生效,重启Tomcat即可。

问题2:如何修改Tomcat的默认端口(从8080改为8081)?
解答:修改Tomcat配置文件中的端口配置即可,步骤如下:

  1. 编辑Tomcat核心配置文件:vi /usr/local/tomcat/conf/server.xml
  2. 找到<Connector port="8080" protocol="HTTP/1.1"这一行,将port="8080"改为port="8081"
  3. 保存文件后重启Tomcat:./shutdown.sh && ./startup.sh
  4. 验证新端口:浏览器访问http://服务器IP:8081,若能正常显示Tomcat欢迎页面,则修改成功,注意:若修改为80端口(HTTP默认端口),需确保当前用户有root权限,且防火墙允许80端口访问。

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

(0)
酷番叔酷番叔
上一篇 2025年9月22日 16:47
下一篇 2025年9月22日 17:07

相关推荐

  • 如何用Windows远程连接Linux?详细操作步骤与方法说明

    在Windows系统中远程连接Linux服务器或主机是日常运维、开发中常见的操作,主要通过SSH(Secure Shell)协议实现安全连接,也可结合图形化工具实现远程桌面,本文将详细介绍具体操作步骤、常用工具及问题解决方法,准备工作在开始远程连接前,需确保Linux和Windows两端满足以下条件:Linux……

    2025年9月30日
    1500
  • Linux如何修改网卡设备名称?

    在Linux系统中,网卡的默认命名方式可能因发行版、内核版本或硬件信息而不同,例如传统的eth0、基于硬件信息的ens33、eno1等,统一的网卡命名规范有助于简化网络管理,尤其是在服务器集群或自动化运维场景中,本文将详细介绍Linux系统中修改网卡名的具体方法,涵盖临时修改、永久修改以及不同发行版的配置差异……

    2025年8月25日
    2600
  • 在Linux操作系统中,查看当前系统负载情况的具体方法有哪些?

    Linux系统负载是衡量CPU繁忙程度的关键指标,反映了系统中等待运行和正在运行的任务数量,掌握查看系统负载的方法,能快速定位系统性能瓶颈,以下从基础到进阶,详细介绍Linux查看系统负载的多种方式及解读方法,基础命令:快速查看负载概况uptime命令最简单的负载查看工具,直接输出系统运行时间、登录用户数及1分……

    2025年9月18日
    2400
  • Linux系统下如何安装Windows系统?

    在Linux系统中安装Windows双系统是一个常见的操作,但需要谨慎处理分区和引导配置,以避免数据丢失或系统无法启动,以下是详细的安装步骤和注意事项,帮助顺利完成安装,安装前的准备工作备份重要数据磁盘分区操作会清空数据,务必将Linux和Windows系统中的重要文件(如文档、照片、配置文件等)备份到移动硬盘……

    2025年9月29日
    1400
  • Debian/Ubuntu如何快速安装必备工具?

    Linux硬盘对拷详细指南硬盘对拷(磁盘克隆)是将一个硬盘的所有数据完整复制到另一个硬盘的过程,常用于系统迁移、数据备份或硬盘升级,Linux系统提供多种可靠的工具实现此操作,无需第三方软件,以下是四种常用方法及详细步骤,操作前请务必备份重要数据,避免误操作导致数据丢失,📋 准备工作连接硬盘:将源盘(被克隆的硬……

    2025年7月21日
    3600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信