首页主机资讯Ubuntu Java应用如何发布上线

Ubuntu Java应用如何发布上线

时间2025-12-10 20:30:04发布访客分类主机资讯浏览985
导读:Ubuntu Java应用发布上线实操指南 一 准备与打包 安装构建工具与 JDK:sudo apt update && sudo apt install -y openjdk-17-jdk maven;如需 Gradle...

Ubuntu Java应用发布上线实操指南

一 准备与打包

  • 安装构建工具与 JDK:sudo apt update & & sudo apt install -y openjdk-17-jdk maven;如需 Gradle 可另行安装。
  • 使用构建工具打包:
    • Maven:在项目根目录执行 mvn clean package,产物在 target/*.jar;确保打包为可执行 JAR(包含主类)。
    • Gradle:执行 gradle build,产物在 build/libs/*.jar
  • 可执行 JAR 的关键配置:
    • Maven 示例(在 pom.xml 的 中):
      • maven-jar-plugin 指定 ;
      • 使用 maven-dependency-plugin 将依赖复制到 target/lib,并在 manifest 中配置 Class-Path。
    • Gradle 示例(在 build.gradle 中):
      • jar { manifest { attributes ‘Main-Class’: ‘your.main.Class’ } }
      • 可配置 copyDependencies 任务将依赖复制到 build/libs/lib
  • 上传到服务器:本地执行 scp target/app.jar user@server:/opt/app/,进入服务器目录 cd /opt/app。以上步骤覆盖在 Ubuntu 上安装 JDK、Maven/Gradle、配置可执行 JAR 与上传的要点。

二 运行方式一 直接运行与 systemd 托管

  • 直接运行(测试用):nohup java -jar app.jar > app.log 2> & 1 & ;生产环境建议使用进程管理工具。
  • 使用 systemd 托管(推荐):
    • 创建服务文件:sudo vim /etc/systemd/system/myapp.service

    • 示例内容(按需调整内存与路径):
      [Unit]
      Description=My Java App
      After=network.target

      [Service]
      Type=simple
      User=ubuntu
      ExecStart=/usr/bin/java -Xms512m -Xmx1024m -jar /opt/app/app.jar
      SuccessExitStatus=143
      Restart=always
      StandardOutput=journal
      StandardError=journal

      [Install]
      WantedBy=multi-user.target

    • 启用与启动:sudo systemctl daemon-reload & & sudo systemctl enable --now myapp

    • 常用命令:sudo systemctl status myapp;sudo journalctl -u myapp -f(查看日志)。

  • 说明:systemd 方式便于开机自启、自动重启与集中日志管理,适合生产环境长期运行。

三 运行方式二 Web 应用部署到 Tomcat

  • 安装 Tomcat:sudo apt install tomcat9;检查状态:sudo systemctl status tomcat9;默认监听 8080
  • 部署 WAR:将应用 WAR 复制到 /var/lib/tomcat9/webapps/(例如 myapp.war),Tomcat 会自动解压部署,访问 http://server_ip:8080/myapp
  • 管理:sudo systemctl start|stop|restart tomcat9;如需开机自启:sudo systemctl enable tomcat9。
  • 适用场景:传统 WAR 包、Servlet/JSP 应用或需容器管理生命周期的项目。

四 反向代理与域名访问

  • 安装与启用 Nginx:sudo apt install nginx;sudo systemctl enable --now nginx。
  • 配置反向代理(示例:/etc/nginx/sites-available/default):
    server {
    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;
    proxy_set_header X-Forwarded-Proto $scheme;
    }
    }
  • 生效与验证:sudo nginx -t & & sudo systemctl reload nginx;访问 http://your_domain.com
  • 作用:对外暴露 80/443 端口、统一域名与路由、支持后续接入 HTTPS/TLS

五 数据库与安全加固

  • MySQL 安装与初始化:sudo apt install mysql-server;执行 sudo mysql_secure_installation 完成安全设置(设置 root 密码、移除匿名用户等)。
  • 创建业务库与用户:
    • mysql -u root -p
    • CREATE DATABASE mydb CHARACTER SET utf8mb4;
    • CREATE USER ‘myuser’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
    • GRANT ALL PRIVILEGES ON mydb.* TO ‘myuser’@‘localhost’;
    • FLUSH PRIVILEGES;
  • 应用配置:在应用配置文件中使用上述 数据库、用户、密码;生产环境建议使用专用数据库账户与最小权限。
  • 防火墙与端口:如启用防火墙,放行 80/443(Nginx)与 8080(直连应用/Tomcat),或仅开放 80/443 并通过反向代理访问后端。
  • 安全建议:开启 UFW 或云安全组限制来源 IP;为域名配置 Let’s Encrypt 免费证书启用 HTTPS;JAR/TOMCAT 不以 root 运行;定期备份数据库与应用。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Java应用如何发布上线
本文地址: https://pptw.com/jishu/768648.html
Linux系统中Go程序的并发优化策略 Ubuntu Java代码如何压缩打包

游客 回复需填写必要信息