如何在 Debian 10 上安装 Jetty JAVA http 服务器
在此页
- 要求
- 开始
- 安装Java
- 安装码头
- 将 Nginx 配置为 Jetty 的反向代理
- 访问 Jetty 网络界面
Jetty 是一个免费的开源 Java HTTP 服务器,可用于不同的项目,包括开发和生产。 Jetty 占用空间小,可嵌入,功能齐全,支持 SPDY、WebSocket、OSGi、JNDI、JAAS 和许多其他集成。 Jetty 用于多种活动产品,例如 Alfresco、Apache ActiveMQ、Apache Spark、Apache Maven、Red5 和 Hadoop。
在本教程中,我们将向您展示如何在 Debian 10 上安装 Jetty。
要求
- 运行 Debian 10 的服务器。
- 在您的服务器上配置了根密码。
入门
首先,建议使用最新版本更新您的系统。您可以通过运行以下命令来完成此操作:
apt-get update -y
apt-get upgrade -y
更新系统后,重新启动系统以应用配置更改。
安装Java
Jetty 是一个基于 Java 的应用程序。因此,您需要在系统中安装 Java。默认情况下,最新版本的 Java 在 Debian 10 默认存储库中可用。您只需运行以下命令即可安装它:
apt-get install default-jdk -y
安装完成后,您可以使用以下命令检查 Java 版本:
java --version
您应该得到以下输出:
openjdk 11.0.3 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-post-Debian-5)
OpenJDK 64-Bit Server VM (build 11.0.3+7-post-Debian-5, mixed mode, sharing)
安装 Jetty
默认情况下,Jetty 在 Debian 10 默认存储库中可用。您只需运行以下命令即可安装它:
apt-get install jetty9 -y
安装后,使用以下命令检查 Jetty 版本:
apt show jetty9
您应该看到以下输出:
Package: jetty9
Version: 9.4.15-1
Priority: optional
Section: java
Maintainer: Debian Java Maintainers <>
Installed-Size: 757 kB
接下来,使用以下命令启动 Jetty 服务并使其在系统重启后启动:
systemctl start jetty9
systemctl enable jetty9
您还可以使用以下命令检查 Jetty 状态:
systemctl status jetty9
您应该得到以下输出:
? jetty9.service - Jetty 9 Web Application Server
Loaded: loaded (/lib/systemd/system/jetty9.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-09-28 02:47:55 EDT; 1min 11s ago
Docs: https://www.eclipse.org/jetty/documentation/current/
Main PID: 1658 (java)
Tasks: 24 (limit: 1138)
Memory: 69.9M
CGroup: /system.slice/jetty9.service
??1658 /usr/bin/java -Djetty.home=/usr/share/jetty9 -Djetty.base=/usr/share/jetty9 -Djava.io.tmpdir=/tmp -jar /usr/share/jetty9/star
Sep 28 02:48:12 debian jetty9[1658]: 2019-09-28 02:48:12.492:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///var/lib/jetty9/we
Sep 28 02:48:14 debian jetty9[1658]: 2019-09-28 02:48:14.079:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=16ms
Sep 28 02:48:14 debian jetty9[1658]: 2019-09-28 02:48:14.602:INFO:oejshC.root:main: Warning: No org.apache.tomcat.JarScanner set in ServletCont
Sep 28 02:48:15 debian jetty9[1658]: 2019-09-28 02:48:15.796:INFO:oajs.TldScanner:main: At least one JAR was scanned for TLDs yet contained no
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.312:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.315:INFO:oejs.session:main: No SessionScavenger set, using defaults
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.318:INFO:oejs.session:main: node0 Scavenging every 600000ms
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.587:INFO:oejsh.ContextHandler:main: Started {root,/,file
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.836:INFO:oejs.AbstractConnector:main: Started {HTTP/1.1,[http/
Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.843:INFO:oejs.Server:main: Started @21109ms
lines 1-20/20 (END)
配置 Nginx 作为 Jetty 的反向代理
默认情况下,Jetty 运行在 8080 端口。因此您需要将 Nginx 配置为反向代理,将请求从 80 端口转发到 8080。
为此,首先使用以下命令安装 Nginx Web 服务器:
apt-get install nginx -y
接下来,使用以下命令为 Jetty 创建一个新的虚拟主机配置文件:
nano /etc/nginx/sites-available/jetty.conf
添加以下行:
upstream jetty {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_pass http://jetty/;
}
}
完成后保存并关闭文件。然后,使用以下命令检查 Nginx 是否存在任何语法错误:
nginx -t
您应该看到以下输出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
接下来,启用 Nginx 虚拟主机并重启 Nginx 服务以应用新配置:
ln -s /etc/nginx/sites-available/jetty.conf /etc/nginx/sites-enabled/
systemctl restart nginx
访问 Jetty Web 界面
现在,打开您的 Web 浏览器并输入 URL http://example.com。您将被重定向到以下屏幕中的 Jetty 默认仪表板:

恭喜!您已经在 Debian 10 上成功安装并配置了带有 Nginx 的 Jetty。您现在可以使用 Jetty 轻松部署 Java 应用程序。