凌峰创科服务平台

Ubuntu如何搭建Java Web服务器?

  1. 操作系统: Ubuntu (推荐使用 LTS 版本,如 20.04 或 22.04)
  2. Java 运行环境: 因为 Java Web 应用通常编译成字节码,所以需要 JRE 或 JDK 来运行。
  3. Web 服务器/应用服务器: 这是运行你的 Java Web 应用(如 WAR 文件)的容器,常见的选择有 Tomcat, Jetty, WildFly 等。
  4. (可选) 反向代理: Nginx 或 Apache,用于处理静态资源、负载均衡和将客户端请求转发给应用服务器。

下面我将为你提供一个详细的、分步的指南,从零开始在 Ubuntu 上搭建一个完整的 Java Web 环境,并以最流行的 Tomcat 为例。

Ubuntu如何搭建Java Web服务器?-图1
(图片来源网络,侵删)

我们将完成以下任务:

  1. 更新系统。
  2. 安装 Java Development Kit (JDK)。
  3. 下载并安装 Apache Tomcat。
  4. 配置防火墙,允许外部访问。
  5. 部署一个简单的测试应用(WAR 文件)。
  6. (可选)配置 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 是否安装成功。

Ubuntu如何搭建Java Web服务器?-图2
(图片来源网络,侵删)
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),然后让配置立即生效。

Ubuntu如何搭建Java Web服务器?-图3
(图片来源网络,侵删)
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

分享:
扫描分享到社交APP
上一篇
下一篇