2026/5/21 19:24:06
网站建设
项目流程
旅游网站设计的目的,今天开始做女神免费网站,百度站长平台安卓版,设计公司网站域名随着云计算和容器化技术的普及#xff0c;Linux 服务器已成为部署 Web 应用程序的主流平台之一。Java 作为一种跨平台的编程语言#xff0c;具有广泛的应用场景。本文将详细介绍如何在 Ubuntu 服务器上部署 Java 应用#xff0c;包括环境准备、应用发布、配置反向代理#…随着云计算和容器化技术的普及Linux 服务器已成为部署 Web 应用程序的主流平台之一。Java 作为一种跨平台的编程语言具有广泛的应用场景。本文将详细介绍如何在 Ubuntu 服务器上部署 Java 应用包括环境准备、应用发布、配置反向代理Nginx、设置系统服务以及日志管理等步骤。一、部署准备在开始之前请确保你具备以下条件一台运行 Ubuntu如 Ubuntu 20.04 或 22.04的服务器具有 SSH 访问权限。Java 应用程序的可执行 JAR 文件确保在本地能够正常运行。二、安装 Java 环境首先你需要在 Ubuntu 上安装 Java 运行环境JRE或 Java 开发工具包JDK以便能够运行 Java 应用。1. 安装 JDKUbuntu 提供了 OpenJDKJava 的开源实现。你可以选择安装 JDK 8业内主流版本或 OpenJDK 17业内下一个主流版本。sudo apt install openjdk-17-jdk -y2. 验证 Java 安装安装完成后你可以使用以下命令检查 Java 是否安装成功java -version你应该看到类似于以下的输出表示 Java 安装成功openjdk version 17.0.2 2021-04-20 OpenJDK Runtime Environment (build 11.0.119-60) OpenJDK 64-Bit Server VM (build 11.0.119-60, mixed mode)三、安装 MySQL如需1. 安装MySQL服务器sudo apt install mysql-server -y2. 启动并设置MySQL开机自启sudo systemctl start mysql sudo systemctl enable mysql3. 验证MySQL安装登录MySQL以确认安装成功。sudo mysql -u root -pMySQL默认密码是root直接登录即可。4. 修改初始密码ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY new_password;5. 创建库和表这里我们用SQL语句把项目需要的数据库建好即可。四、部署 Java 应用你可以通过构建一个可执行的 JAR 文件来部署 Java 应用程序。假设你已经有一个构建好的 JAR 文件将你的 JAR 文件传输到 Ubuntu 服务器上的目标目录。在服务器上进入应用目录并运行 JAR 文件。cd /var/www/java-app java -jar app.jar如果应用成功启动你应该能看到类似于下面的日志输出2025-01-09 10:00:00.000 INFO [main] - Application started on port 8080此时你的 Java 应用正在 8080 端口上运行。五、配置 Nginx 作为反向代理可选为了通过浏览器访问你的 Java 应用你需要配置 Nginx 作为反向代理将客户端请求转发到 Java 应用。以下是配置反向代理的步骤。1. 安装 Nginx如果 Nginx 尚未安装可以使用以下命令进行安装sudo apt install nginx -y2. 配置 Nginx打开 Nginx 的配置文件进行编辑sudo nano /etc/nginx/sites-available/default修改server块中的配置将请求转发到 Java 应用的端口如 8080server { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }保存并退出配置文件。3. 测试并重启 Nginx测试 Nginx 配置是否正确sudo nginx -t如果配置无误重启 Nginxsudo systemctl restart nginx此时Nginx 已经成功配置为将所有请求转发到 Java 应用。六、设置 Java 应用为系统服务可选为了确保 Java 应用在系统启动时自动启动并且可以通过systemctl管理我们需要将应用配置为一个 systemd 服务。1. 创建 systemd 服务文件创建一个新的 systemd 服务文件来管理 Java 应用sudo nano /etc/systemd/system/java-app.service将以下内容添加到文件中[Unit] DescriptionJava Web Application Afternetwork.target [Service] Useryour-user ExecStart/usr/bin/java -jar /var/www/java-app/app.jar SuccessExitStatus143 TimeoutStopSec10 Restarton-failure WorkingDirectory/var/www/java-app [Install] WantedBymulti-user.targetExecStart指定启动应用的命令。WorkingDirectory指定应用的工作目录。Restart确保应用崩溃时会自动重启。2. 启动并启用服务重新加载 systemd 配置使新服务生效sudo systemctl daemon-reload启动 Java 应用服务sudo systemctl start java-app.service启用服务使其在系统启动时自动启动sudo systemctl enable java-app.service3. 检查服务状态你可以使用以下命令查看服务的状态sudo systemctl status java-app.service确保 Java 应用正在运行并且没有错误。七、日志管理为了有效地监控 Java 应用的运行状态建议设置日志记录。1. 配置日志文件你可以使用 Java 的日志框架如Logback或Log4j来配置应用日志。确保日志输出到文件而不是仅输出到控制台。在application.properties或logback.xml配置中指定日志文件的路径。例如使用Logback配置文件configuration appender nameFILE classch.qos.logback.core.FileAppender file/var/log/java-app.log/file encoder pattern%d{yyyy-MM-dd HH:mm:ss} - %msg%n/pattern /encoder /appender root levelINFO appender-ref refFILE/ /root /configuration2. 查看应用日志你可以使用tail或journalctl来查看日志文件sudo tail -f /var/log/java-app.log如果你通过 systemd 启动应用还可以使用journalctl命令来查看应用的日志sudo journalctl -u java-app.service -f八、测试部署在浏览器中访问你的服务器域名或 IP 地址确保能正确加载 Java 应用。使用 curl 或 Postman 等工具测试 API 接口确保后端服务正常工作。九、总结通过以上步骤你可以在 Ubuntu 上成功部署 Java 应用使用 Nginx 配置反向代理确保应用能够高效稳定地提供服务。同时借助 systemd你还可以方便地管理应用的启动、停止及日志记录确保服务的高可用性。