首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
CentOS系统部署Java项目的详细步骤与指南

CentOS系统部署Java项目的详细步骤与指南

热心网友
44
转载
2026-05-06

CentOS 服务器部署 Java 项目完整指南

CentOS Ja va如何进行项目部署

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一、 环境准备与配置

成功的项目部署始于稳固的基础环境搭建。这如同建造高楼前必须夯实的地基,每一个环节都至关重要。

  • 安装 JDK:Java 应用的运行离不开 Java 开发工具包。以安装 OpenJDK 8 为例,执行命令即可完成:sudo yum install ja va-1.8.0-openjdk-devel -y。安装后务必使用ja va -versionja vac -version验证安装结果。若需安装 OpenJDK 11 等更新版本,只需替换命令中的版本号:sudo yum install ja va-11-openjdk-devel -y
  • 配置环境变量:此步骤虽非强制,但强烈建议执行。它能确保你在系统任意位置便捷地调用 Java 命令。编辑/etc/profile/etc/profile.d/ja va.sh文件,添加以下配置:
    export JA VA_HOME=/usr/lib/jvm/ja va-1.8.0-openjdk
    export PATH=$JA VA_HOME/bin:$PATH
    保存文件后,执行source /etc/profile使配置立即生效。
  • 安装 Web 容器:若部署 Web 应用,Tomcat 是经典且可靠的选择。以 Tomcat 9 为例,下载并解压至/opt目录:
    wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.53/bin/apache-tomcat-9.0.53.tar.gz
    tar -xvf apache-tomcat-9.0.53.tar.gz -C /opt
    随后,设置CATALINA_HOME=/opt/apache-tomcat-9.0.53并将其加入 PATH 环境变量,便于后续管理 Tomcat 服务。
  • 防火墙端口放行:确保外部能够访问应用。Tomcat 默认监听 8080 端口,需在防火墙中开放:sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload

二、 项目构建与文件上传

将本地开发完成的代码,转化为可在服务器上运行的部署包,是部署流程的核心环节。

  • 项目构建方式:根据项目使用的构建工具,执行相应命令生成部署包。
    • Maven 项目:在项目根目录执行mvn clean package,生成的 JAR 或 WAR 文件通常位于target/目录。
    • Gradle 项目:在项目根目录执行gradle build,构建产物将生成在build/libs/目录中。
    • 无构建工具项目:需手动编译打包。首先使用ja vac命令编译源代码,然后使用类似jar cvfe app.jar com.example.Main -C bin .的命令进行打包。
  • 上传至服务器:使用 SCP 命令将构建好的文件传输到 CentOS 服务器。
    • 上传可执行 JAR 包:scp target/app.jar user@your_ip:/opt/app/
    • 上传 WAR 包至 Tomcat:scp target/app.war user@your_ip:/opt/apache-tomcat-9.0.53/webapps/
  • 推荐目录结构:为便于管理和维护,建议在服务器上建立清晰的目录结构。例如:/opt/app/存放应用主程序,/opt/logs/存放日志文件,/opt/conf/存放配置文件。规范的结构能显著提升运维效率。

三、 应用运行与进程管理

应用文件就位后,如何确保其稳定、可靠地持续运行?以下是几种关键的运行与管理方式。

  • 直接运行:适用于快速测试与调试。
    • 前台运行:cd /opt/app && ja va -jar app.jar,日志将实时输出到当前终端。
    • 后台运行:nohup ja va -jar app.jar > /opt/logs/app.log 2>&1 &,此方式下即使关闭 SSH 连接,应用进程也不会终止。
  • 使用 systemd 服务托管:这是生产环境部署的推荐方案。systemd 提供强大的进程生命周期管理能力,支持开机自启、故障自动重启等。
    1. 创建服务配置文件:sudo vi /etc/systemd/system/myapp.service
    2. 写入以下配置示例:
      [Unit]
      Description=My Ja va Application
      After=syslog.target network.target
      
      [Service]
      User=appuser
      WorkingDirectory=/opt/app
      ExecStart=/usr/bin/ja va -jar /opt/app/app.jar
      SuccessExitStatus=143
      Restart=on-failure
      RestartSec=10
      Environment="JA VA_OPTS=-Xms512m -Xmx1g"
      
      [Install]
      WantedBy=multi-user.target
    3. 启用并启动服务:sudo systemctl daemon-reload && sudo systemctl start myapp && sudo systemctl enable myapp
    4. 监控服务状态与日志:sudo systemctl status myappjournalctl -u myapp -f

四、 Web 应用部署至 Tomcat

对于基于 Servlet 的 Java Web 应用,Tomcat 是广泛使用的部署容器。其部署流程标准化,管理便捷。

  • 部署 WAR 包:将构建好的target/app.war文件,直接复制到 Tomcat 的$CATALINA_HOME/webapps/目录下。Tomcat 会自动解压该文件并完成应用部署。
  • 启动与访问验证:通过执行$CATALINA_HOME/bin/startup.sh脚本启动 Tomcat。若已配置为 systemd 服务,则可使用systemctl start tomcat。启动成功后,在浏览器中访问https://your_server_ip:8080/app即可(其中“app”对应 WAR 文件名)。若需将应用部署为根路径,只需将 WAR 文件重命名为ROOT.war
  • 常用管理操作
    • 停止服务:$CATALINA_HOME/bin/shutdown.sh
    • 热部署:直接替换webapps目录下的 WAR 文件后重启 Tomcat。更推荐的方式是使用 Tomcat Manager 控制台进行在线部署与管理。

五、 生产环境进阶优化建议

完成基础部署后,以下进阶技巧有助于提升应用在生产环境中的性能、稳定性与可维护性。

  • 生产参数调优:在systemd服务的Environment="JA VA_OPTS=..."中,可配置关键的 JVM 参数,例如堆内存大小(-Xms512m -Xmx1g)、垃圾回收器选择、JMX 远程监控端口等。同时,出于安全考虑,建议为应用创建独立的低权限系统用户(如 appuser)来运行服务。
  • 日志与监控体系:将应用日志统一输出至/opt/logs/目录,便于集中收集与分析。可结合journalctl工具查看,或配置logrotate实现日志自动轮转,避免磁盘空间被占满。对于更全面的可观测性,可考虑集成 Prometheus + Grafana 进行指标监控,或使用 ELK(Elasticsearch, Logstash, Kibana)技术栈进行日志分析。
  • 自动化与容器化部署:手动部署流程繁琐且易出错。引入 Jenkins、GitLab CI/CD 等工具建立自动化部署流水线,可实现从代码提交到服务上线的全流程自动化。更进一步,采用容器化部署方案(如编写 Dockerfile 构建镜像,使用 Docker Compose 或 Kubernetes 进行编排),能极大提升环境一致性、部署效率、弹性伸缩和快速回滚能力。
来源:https://www.yisu.com/ask/16399826.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Java在CentOS上的安全配置建议
编程语言
Java在CentOS上的安全配置建议

Ja va在CentOS上的安全配置建议 在CentOS上部署Ja va应用,安全配置绝非小事。一套严谨的配置,往往是抵御风险的第一道,也是最关键的一道防线。下面,我们就从基础环境到运维审计,系统地梳理一遍那些必须落实的安全要点。 一 基础环境与最小权限 万事开头难,打好基础是关键。第一步,就从选择

热心网友
05.05
centos中php-fpm如何设置超时时间
编程语言
centos中php-fpm如何设置超时时间

在CentOS中设置PHP-FPM超时时间 解决PHP-FPM脚本执行超时问题,是保障服务器稳定运行与提升应用性能的关键运维操作。合理的超时配置能够有效防止长时间运行的PHP进程被意外终止,从而避免用户请求失败。本文将系统性地讲解在CentOS或RHEL系统中,如何精准定位并修改PHP-FPM的超时

热心网友
05.05
centos php环境搭建
编程语言
centos php环境搭建

在CentOS上搭建PHP环境 想要在CentOS服务器上部署PHP应用程序?核心步骤在于配置一个稳定的Web服务器并安装PHP解释器。Apache作为业界广泛使用的Web服务器,以其稳定性和丰富的模块生态成为众多开发者的首选。本文将详细介绍如何在CentOS系统上,基于Apache搭建完整的PHP

热心网友
05.05
CentOS HDFS与其他大数据平台比较
编程语言
CentOS HDFS与其他大数据平台比较

定位与总体结论 在CentOS上部署HDFS,本质上是为海量数据搭建一个分布式的文件“地基”。这个系统天生为高吞吐量和横向扩展而生,遵循“一次写入、多次读取”的批处理逻辑,与MapReduce、Spark、Flink这些计算框架堪称黄金搭档。不过,咱们得先明确一点:HDFS并非“万能”存储。它和Ce

热心网友
05.05
如何在CentOS利用Python进行数据分析
编程语言
如何在CentOS利用Python进行数据分析

CentOS系统Python数据分析环境搭建:完整配置指南与最佳实践 在CentOS服务器上构建专业的Python数据分析环境,是许多数据科学家和开发人员的必备技能。本文将提供一份从零开始的详细教程,帮助您快速搭建稳定、高效的数据分析平台,涵盖环境配置、核心工具安装到工作流建立的完整流程。 第一步:

热心网友
05.05

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

Composer生成vendor离线包详细步骤与实用指南
编程语言
Composer生成vendor离线包详细步骤与实用指南

vendor目录离线包本质是composer install --no-dev后的完整快照 vendor 目录离线包本质是 composer install --no-dev 后的完整快照 Composer vendor目录离线包,本质上是一个经过精简、可直接部署到生产环境的依赖文件夹快照。其核心目

热心网友
05.06
CentOS系统设置PHP定时任务详细步骤
编程语言
CentOS系统设置PHP定时任务详细步骤

在CentOS系统中设置PHP定时任务 对于需要在CentOS服务器上自动化执行PHP脚本的场景,crontab无疑是那个最经典、最可靠的工具。它就像一位不知疲倦的守夜人,能帮你精准地按计划完成任务。下面,我们就来一步步拆解如何配置它。 第一步:确保PHP环境就绪 首先,需要确认您的CentOS系统

热心网友
05.06
CentOS系统安装PHP依赖的详细步骤
编程语言
CentOS系统安装PHP依赖的详细步骤

在CentOS上安装PHP依赖的完整指南 想要在CentOS系统中高效部署PHP扩展?首要步骤并非直接执行安装指令,而是配置好功能强大的“软件源仓库”。EPEL与Remi仓库是构建稳定PHP环境的基石。本教程将详细解析从仓库配置到扩展安装的全流程,助你搭建坚实的PHP运行基础。 安装EPEL仓库 E

热心网友
05.06
CentOS系统配置PHP远程数据库连接教程
编程语言
CentOS系统配置PHP远程数据库连接教程

CentOS系统下PHP远程连接配置指南:基于cURL扩展的完整教程 在CentOS服务器环境中,实现PHP与外部网络资源的远程通信是常见的开发需求。cURL扩展作为PHP内置的强大网络库,能够高效支持HTTP、HTTPS、FTP等多种协议的数据传输。本教程将详细演示如何在CentOS系统上配置并使

热心网友
05.06
CentOS系统下配置vsFTPd服务集成指南
编程语言
CentOS系统下配置vsFTPd服务集成指南

在CentOS上集成vsftpd与其他服务:一份实战指南 将CentOS系统中的vsftpd(Very Secure FTP Daemon)与其他关键服务进行集成,能够大幅增强其功能性、安全性与管理效率。具体的集成方案需根据您的实际业务需求来定制。本文将深入探讨几个最常见的集成场景,并提供清晰、可操

热心网友
05.06