Linux 环境下 Jetty 的安装与配置详解
在 Java Web 应用开发中,Jetty 作为一款轻量级、高性能的开源 Servlet 容器,因其灵活性和易用性被广泛采用,本文将详细介绍在 Linux 系统中安装、配置及运行 Jetty 的完整步骤,帮助开发者快速搭建 Web 服务环境。

准备工作:安装 Java 运行环境
Jetty 是基于 Java 技术开发的,因此首先需要确保系统已安装 Java 运行环境(JRE)或 Java 开发工具包(JDK),以 Ubuntu/Debian 系统为例,可通过以下命令安装 OpenJDK:
sudo apt update sudo apt install openjdk-11-jdk
安装完成后,验证 Java 版本:
java -version
若显示 Java 版本信息,则表示安装成功,对于其他 Linux 发行版(如 CentOS、RHEL),可使用 yum 或 dnf 命令安装相应的 JDK 包。
下载并解压 Jetty 安装包
Jetty 官方提供了预编译的二进制包,下载后解压即可使用,访问 Jetty 官网(https://www.eclipse.org/jetty/)获取最新稳定版的下载链接,或使用 wget 命令直接下载,以下以 Jetty 11.x 版本为例:
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/11.0.15/jetty-distribution-11.0.15.tar.gz tar -xvf jetty-distribution-11.0.15.tar.gz -C /opt/
解压后,将 Jetty 目录移动到 /opt/jetty 并设置权限:
sudo mv /opt/jetty-distribution-11.0.15 /opt/jetty sudo chown -R $USER:$USER /opt/jetty
配置 Jetty 服务
Jetty 的核心配置文件位于 $JETTY_HOME/etc 目录下,jetty.xml 是主要的配置文件,定义了服务器的端口、线程池等参数,默认情况下,Jetty 监听 8080 端口,若需修改,可编辑 jetty.xml 或单独创建一个新的配置文件。

创建 jetty-http.xml 并修改端口为 9090:
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ServerConnector">
<Arg name="server"><Ref refid="Server"/></Arg>
<Set name="port">9090</Set>
</New>
</Arg>
</Call>
</Configure>
部署 Web 应用
将 Web 应用(WAR 包)部署到 Jetty 有两种方式:
- 手动部署:将 WAR 包放入
$JETTY_HOME/webapps目录,Jetty 会自动检测并部署。 - 配置文件部署:在
$JETTY_HOME/etc目录下创建jetty-web.xml文件,指定应用的上下文路径和 WAR 包位置。
部署 myapp.war 并设置上下文路径为 /app:
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/myapp.war</Set> <Set name="contextPath">/app</Set> </Configure>
启动与停止 Jetty 服务
Jetty 提供了 start.ini 和 stop.ini 脚本用于控制服务,进入 $JETTY_HOME 目录,执行以下命令启动服务器:
java -jar start.jar
若需后台运行,可使用 nohup 命令:
nohup java -jar start.jar > jetty.log 2>&1 &
停止服务时,执行:

java -jar stop.jar
配置为系统服务(可选)
为方便管理,可将 Jetty 配置为 Linux 系统服务,以 systemd 为例,创建服务文件 /etc/systemd/system/jetty.service:
[Unit] Description=Jetty Web Server After=network.target [Service] User=jetty Group=jetty ExecStart=/usr/bin/java -jar /opt/jetty/start.jar ExecStop=/usr/bin/java -jar /opt/jetty/stop.jar WorkingDirectory=/opt/jetty Restart=on-failure [Install] WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload sudo systemctl enable jetty sudo systemctl start jetty
常见问题与优化建议
- 端口冲突:若 8080 端口被占用,可通过
netstat -tlnp查看并修改 Jetty 的监听端口。 - 内存优化:在
start.ini中调整 JVM 堆大小,如-Xms512m -Xmx1024m。 - 日志管理:配置
$JETTY_HOME/etc/jetty-logging.xml以调整日志级别和输出位置。
通过以上步骤,即可在 Linux 系统中完成 Jetty 的安装与配置,Jetty 的模块化设计允许开发者根据需求选择组件,进一步优化性能和资源占用,适合从小型应用到企业级场景的多种部署需求。















