CentOS Java应用如何发布
导读: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,后续部署到 Tomcat 的 webapps 目录。
三 部署与运行
- 上传文件: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
