在 Linux 系统中安装 Jetty 服务器的详细指南
Jetty 是一个开源的、轻量级的 Java Web 服务器和 Servlet 容器,因其高性能、可扩展性和易用性而被广泛应用于开发和生产环境,本文将详细介绍在 Linux 系统中安装 Jetty 的完整步骤,包括环境准备、安装配置、服务启动及常见问题处理,帮助用户快速搭建稳定高效的 Web 服务环境。

环境准备:确保系统满足 Jetty 运行要求
在安装 Jetty 之前,需确认 Linux 系统满足以下基本条件,以确保后续安装过程顺利:
-
操作系统支持
Jetty 支持主流 Linux 发行版,如 Ubuntu、Debian、CentOS、RHEL 等,本文以 Ubuntu 20.04 和 CentOS 7 为例,其他发行版命令可稍作调整。 -
Java 运行环境
Jetty 依赖 Java 运行时环境(JRE),推荐使用 Oracle JDK 8 或 OpenJDK 11/17,可通过以下命令检查 Java 版本:java -version
若未安装 Java,以 Ubuntu 为例执行:
sudo apt update && sudo apt install -y openjdk-11-jdk
CentOS 系统则执行:
sudo yum install -y java-11-openjdk-devel
-
创建专用用户(可选)
为提升安全性,建议创建非 root 用户运行 Jetty。sudo useradd -r -s /bin/false jetty
下载并安装 Jetty
Jetty 提供两种主要安装方式:官方二进制包安装和包管理器安装,推荐使用二进制包,便于版本管理和自定义配置。
-
下载 Jetty 二进制包
访问 Jetty 官方下载页面(https://www.eclipse.org/jetty/download.php)获取最新稳定版压缩包,或通过 wget 命令直接下载(以 Jetty 11.0.15 为例):wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/11.0.15/jetty-distribution-11.0.15.tar.gz
-
解压并部署 Jetty
将下载的压缩包解压至/opt目录(标准安装路径):sudo tar -xvf jetty-distribution-11.0.15.tar.gz -C /opt
创建软链接简化命令调用:

sudo ln -s /opt/jetty-distribution-11.0.15 /opt/jetty
-
设置目录权限
若创建了专用用户,需将 Jetty 目录权限赋予该用户:sudo chown -R jetty:jetty /opt/jetty
配置 Jetty 服务
安装完成后,需通过配置文件调整 Jetty 的运行参数,如端口号、虚拟主机等。
-
主配置文件解析
Jetty 的核心配置文件位于/opt/jetty/start.d目录,jetty-http.ini控制 HTTP 连接,jetty-ssl.ini配置 HTTPS 等,可通过java -jar start.jar --list-options查看所有可配置模块。 -
修改默认端口
编辑/opt/jetty/start.d/jetty-http.ini,将--module=http修改为自定义端口(如 8081):sudo nano /opt/jetty/start.d/jetty-http.ini ``` 为:
–module=http
–port=8081 -
配置 Web 应用部署目录
默认情况下,Jetty 会自动部署/opt/jetty/webapps目录下的 WAR 包,如需自定义路径,编辑/opt/jetty/etc/jetty.xml,添加以下配置:<Configure id="Server" class="org.eclipse.jetty.server.Server"> <Call name="addHandler"> <Arg> <New class="org.eclipse.jetty.webapp.WebAppContext"> <Set name="contextPath">/myapp</Set> <Set name="war">/path/to/your/war</Set> </New> </Arg> </Call> </Configure>
启动与管理 Jetty 服务
-
手动启动 Jetty
切换至 Jetty 安装目录,执行以下命令启动服务(前台运行,便于调试):cd /opt/jetty java -jar start.jar
若需后台运行,使用
nohup命令:nohup java -jar start.jar > jetty.log 2>&1 &
-
创建 Systemd 服务(推荐)
为便于管理,可将 Jetty 注册为系统服务,创建服务文件:sudo nano /etc/systemd/system/jetty.service
添加以下内容:

[Unit] Description=Jetty Web Server After=network.target [Service] User=jetty Group=jetty ExecStart=/opt/jetty/bin/jetty.sh run ExecStop=/opt/jetty/bin/jetty.sh stop Restart=always [Install] WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload sudo systemctl enable --now jetty
-
验证服务状态
通过以下命令检查 Jetty 是否正常运行:sudo systemctl status jetty
访问
http://服务器IP:8081,若看到 Jetty 欢迎页面则表示安装成功。
常见问题与解决方案
-
端口冲突
若启动时提示端口被占用,可通过netstat -tuln | grep 8080查看占用进程,或修改 Jetty 配置文件中的端口。 -
内存不足
默认 Jetty 最大内存为 1GB,可通过修改JAVA_OPTIONS调整,编辑/opt/jetty/bin/jetty.sh,在文件开头添加:export JAVA_OPTS="-Xms512m -Xmx2g"
-
权限问题
若遇到文件读写权限错误,确保运行用户对 Jetty 目录有读写权限,或调整 SELinux/AppArmor 策略(CentOS/Ubuntu)。
通过以上步骤,您已成功在 Linux 系统中安装并配置了 Jetty 服务器,Jetty 的轻量级特性和灵活配置使其适合从小型应用到大型企业级服务的多种场景,后续可根据需求进一步优化性能或扩展功能。

















