首页主机资讯CentOS Java应用如何发布

CentOS Java应用如何发布

时间2025-12-23 08:23:04发布访客分类主机资讯浏览688
导读:CentOS 上发布 Java 应用的实用步骤 一 准备环境 安装 JDK(以 OpenJDK 8 为例):sudo yum install -y java-1.8.0-openjdk-devel;验证版本:java -version、j...

CentOS 上发布 Java 应用的实用步骤

一 准备环境

  • 安装 JDK(以 OpenJDK 8 为例):sudo yum install -y java-1.8.0-openjdk-devel;验证版本:java -version、javac -version。
  • 可选设置环境变量(全局生效):编辑 /etc/profile,添加
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    export PATH=$JAVA_HOME/bin:$PATH
    执行 source /etc/profile 使配置生效。
  • 如需对外访问,放行防火墙端口(示例为 8080):sudo firewall-cmd --permanent --add-port=8080/tcp & & sudo firewall-cmd --reload。

二 打包应用

  • 可执行 JAR(推荐):使用 Maven 打包为“fat jar”。在 pom.xml 中加入 maven-assembly-plugin 或 maven-shade-plugin,指定 ;执行 mvn clean package,在 target/ 生成包含依赖的可执行 JAR(如:xxx-jar-with-dependencies.jar)。
  • 传统方式:javac 编译后,用 jar 命令打包并指定入口:jar cvfe myapp.jar com.example.Main -C bin .。
  • Web 应用(WAR):使用 Maven/Gradle 打成 WAR,后续部署到 Tomcatwebapps 目录。

三 部署与运行

  • 上传文件:scp target/app.jar user@server:/opt/app/ 或本机用 rz 上传。
  • 运行 JAR:java -jar /opt/app/app.jar;如需指定外部配置:java -jar /opt/app/app.jar --spring.config.location=/opt/app/application-prod.yml。
  • 部署 WAR:将 yourapp.war 复制到 $CATALINA_HOME/webapps/,Tomcat 会自动解压部署;访问 http://ip:8080/yourapp。
  • 可选:使用 Nginx 反向代理到应用端口(如 8080→80/443),便于域名与证书管理。

四 以服务方式运行与开机自启

  • 创建 systemd 服务(/etc/systemd/system/myapp.service):
    [Unit]
    Description=My Java Application
    After=network.target

    [Service]
    Type=simple
    User=appuser
    Group=appuser
    ExecStart=/usr/bin/java -jar /opt/app/app.jar
    SuccessExitStatus=143
    Restart=on-failure
    Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    WorkingDirectory=/opt/app

    [Install]
    WantedBy=multi-user.target

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

五 自动化发布与发布后检查

  • 自动化发布(Jenkins 示例):在 Jenkins 中配置 Git/Maven/JDK,拉取代码后执行 mvn clean package,构建后将产物(JAR 或 WAR)通过 SSH/SCP 或 Tomcat 管理接口自动部署到目标 Tomcat;可结合参数化构建、滚动更新与回滚策略。
  • 发布后检查清单:
    • 进程与端口:ps -ef | grep java;ss -lntp | grep 8080(或实际端口)。
    • 日志:tail -f app.log 或 journalctl -u myapp -f。
    • 应用健康:curl -I http://localhost:8080/actuator/health(若启用 Actuator)。
    • 防火墙与安全组:确保放行对应端口(如 8080/80/443),云服务器需同步配置安全组规则。

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


若转载请注明出处: CentOS Java应用如何发布
本文地址: https://pptw.com/jishu/778111.html
centos vsftp连接不上怎么回事 CentOS Java网络如何调优

游客 回复需填写必要信息