- 操作系统: Ubuntu (推荐使用 LTS 版本,如 20.04 或 22.04)
- Java 运行环境: 因为 Java Web 应用通常编译成字节码,所以需要 JRE 或 JDK 来运行。
- Web 服务器/应用服务器: 这是运行你的 Java Web 应用(如 WAR 文件)的容器,常见的选择有 Tomcat, Jetty, WildFly 等。
- (可选) 反向代理: Nginx 或 Apache,用于处理静态资源、负载均衡和将客户端请求转发给应用服务器。
下面我将为你提供一个详细的、分步的指南,从零开始在 Ubuntu 上搭建一个完整的 Java Web 环境,并以最流行的 Tomcat 为例。

我们将完成以下任务:
- 更新系统。
- 安装 Java Development Kit (JDK)。
- 下载并安装 Apache Tomcat。
- 配置防火墙,允许外部访问。
- 部署一个简单的测试应用(WAR 文件)。
- (可选)配置 Nginx 作为反向代理。
第 1 步:更新系统
登录到你的 Ubuntu 服务器,确保所有软件包都是最新的。
sudo apt update sudo apt upgrade -y
第 2 步:安装 Java
大多数现代 Java Web 应用需要 JDK 11 或更高版本,我们推荐安装 OpenJDK,它是 Oracle JDK 的开源替代品,完全免费且功能齐全。
# 安装 OpenJDK 11 (这是一个非常稳定和广泛使用的版本) sudo apt install openjdk-11-jdk -y # 如果你需要更新的版本,可以安装 OpenJDK 17 # sudo apt install openjdk-17-jdk -y
安装完成后,验证 Java 是否安装成功。

java -version
你应该会看到类似以下的输出,显示已安装的 Java 版本。
openjdk version "11.0.16" 2025-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 环境变量。
# 查找 Java 的安装路径 sudo update-java-alternatives -l # 输出通常是 /usr/lib/jvm/java-11-openjdk-amd64 # 假设路径是 /usr/lib/jvm/java-11-openjdk-amd64,编辑 profile 文件 sudo nano /etc/profile.d/java.sh
在打开的文件中,添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
保存文件 (在 nano 中是 Ctrl+X, 然后按 Y, 再按 Enter),然后让配置立即生效。

source /etc/profile
再次验证 JAVA_HOME:
echo $JAVA_HOME
第 3 步:安装 Apache Tomcat
Tomcat 是一个轻量级的、开源的 Java Servlet 容器,非常适合运行 Java Web 应用。
1 创建专用用户
为了安全起见,不要使用 root 用户运行 Tomcat,我们创建一个专门的用户。
sudo useradd -m -s /bin/false tomcat
2 下载 Tomcat
访问 Tomcat 官方下载页面 获取最新的二进制分发版(Core 下的 .tar.gz 链接),这里我们以 Tomcat 9 为例。
# 进入临时目录 cd /tmp # 下载 Tomcat 9 (请替换为最新的稳定版链接) wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz # 验证下载文件的完整性 (可选但推荐) wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz.sha512 sha512sum -c apache-tomcat-9.0.65.tar.gz.sha512
3 安装 Tomcat
# 创建用于存放 Tomcat 的目录 sudo mkdir -p /opt/tomcat # 解压文件到该目录 sudo tar xzf apache-tomcat-9.0.65.tar.gz -C /opt/tomcat --strip-components=1 # 将解压后的目录所有权交给 tomcat 用户 sudo chown -R tomcat:tomcat /opt/tomcat # 给 Tomcat 脚本添加执行权限 sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
4 创建 Systemd 服务文件
为了能像系统服务一样管理 Tomcat(启动、停止、重启等),我们创建一个 systemd 服务文件。
sudo nano /etc/systemd/system/tomcat.service
粘贴到文件中,请确保 JAVA_HOME 路径与你之前安装的路径一致。
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" Environment="TOMCAT_JAVA_OPTS=-Djava.security.egd=file:///dev/./urandom" User=tomcat Group=tomcat ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target
保存并关闭文件。
5 启动并启用 Tomcat 服务
# 重新加载 systemd 配置 sudo systemctl daemon-reload # 启动 Tomcat sudo systemctl start tomcat # 设置 Tomcat 开机自启 sudo systemctl enable tomcat # 检查 Tomcat 服务状态 sudo systemctl status tomcat
如果看到 active (running),说明启动成功。
第 4 步:配置防火墙
默认情况下,Tomcat 在 8080 端口上运行,我们需要允许外部流量访问这个端口。
# 如果使用 UFW (Ubuntu 默认防火墙) sudo ufw allow 8080/tcp # 如果使用的是 iptables # sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT # sudo iptables-save > /etc/iptables/rules.v4
第 5 步:访问 Tomcat 默认页面
你可以通过浏览器访问你的服务器 IP 地址和 Tomcat 端口来验证安装是否成功。
打开浏览器,访问:http://<你的服务器IP地址>:8080
你应该能看到 Tomcat 的欢迎页面,这表明你的 Java Web 服务器已经成功运行了!
第 6 步:部署一个 Java Web 应用 (WAR 文件)
最简单的方式是直接将 WAR 文件放到 Tomcat 的 webapps 目录下,Tomcat 会自动检测并部署它。
1 创建一个简单的测试应用
我们不需要自己写代码,可以直接下载一个现成的测试 WAR 文件,testapp.war。
# 在 /opt/tomcat/webapps 目录下下载 cd /opt/tomcat/webapps sudo wget -O testapp.war https://tomcat.apache.org/download-90.cgi?action=example # 这是一个示例链接,实际可能失效,你可以搜索 "test war file download"
注意:上面的链接可能不是有效的 WAR 文件,你可以从网上找一个简单的 "hello world" WAR 文件,或者自己构建一个。
2 部署 WAR 文件
假设你有一个名为 myapp.war 的文件,只需将它复制到 /opt/tomcat/webapps 目录。
# 假设 myapp.war 在你的当前用户目录下 sudo cp ~/myapp.war /opt/tomcat/webapps/
Tomcat 会自动解压这个 WAR 文件,并创建一个名为 myapp 的目录。
3 访问你的应用
等待几秒钟让 Tomcat 完成部署,然后在浏览器中访问:
http://<你的服务器IP地址>:8080/myapp
如果你的应用有首页(如 index.html
