在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

相关推荐

  • Linux下用gdb如何实现单步执行?调试步骤与操作方法详解

    Linux环境下,程序调试是开发过程中的关键环节,单步执行作为核心调试手段,允许开发者逐行或逐指令跟踪程序执行流程,观察变量状态变化,精准定位逻辑错误,本文将详细介绍如何通过主流调试工具实现单步执行,重点以GDB(GNU Debugger)为例展开说明,大多数Linux发行版默认已安装GDB,若未安装,可通过包……

    2025年10月4日
    14900
  • Linux怎样监听网口?需root权限吗?

    监听网口的核心工具tcpdump(命令行抓包)安装(如未预装):sudo apt install tcpdump # Debian/Ubuntusudo yum install tcpdump # RHEL/CentOS基础用法:sudo tcpdump -i eth0 # 监听eth0网口的所有流量常用参数……

    2025年7月28日
    26000
  • 你的内核支持这个功能吗

    确认内核支持是指检查当前操作系统内核是否具备运行特定功能或驱动所需的基础能力,通常通过查看内核配置文件、加载模块或检查系统日志实现,确保硬件或软件所需的内核特性已启用,这是系统兼容性和功能正常工作的前提条件。

    2025年8月4日
    19800
  • Windows如何引导Linux?双系统启动引导步骤详解

    在Windows系统中引导Linux系统,通常是通过双系统配置实现的,核心思路是在保留Windows系统的同时安装Linux,并利用引导加载程序(如GRUB)实现系统选择,以下是详细步骤和注意事项,涵盖准备工作、安装流程、引导配置及问题排查,准备工作在安装Linux前,需做好充分准备,避免安装过程中数据丢失或引……

    2025年10月5日
    16400
  • Linux中如何启动vi编辑器?

    vi是Linux系统中经典的文本编辑器,因其轻量、高效且预装在大多数发行版中,成为开发者和管理员常用的工具,启动vi的方式多样,可根据需求选择不同的启动参数,同时理解其模式切换逻辑是高效使用的基础,Linux中启动vi的详细方法基础启动方式vi的启动核心命令是vi,后接可选参数或文件名,根据是否指定文件、定位位……

    2025年9月18日
    13300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信