CentOS 部署 Java 项目是企业级应用中常见的场景,涉及环境配置、依赖管理、服务部署等多个环节,以下是详细的操作步骤和注意事项,确保部署过程高效且稳定。

环境准备
在开始部署前,需确保 CentOS 系统满足项目需求,首先更新系统包列表并安装必要的工具,例如执行 yum update -y 升级系统,再通过 yum install -y wget vim 安装 wget 和 vim,Java 项目的运行依赖 JDK,需根据项目版本选择合适的 JDK(如 JDK 8 或 JDK 11),通过 yum install -y java-1.8.0-openjdk 安装 OpenJDK,或从 Oracle 官网下载 RPM 包手动安装,安装后,使用 java -version 验证 JDK 是否生效,并配置 JAVA_HOME 环境变量,确保系统全局可识别 Java 路径。
项目打包与上传
Java 项目通常需打包为可执行文件(如 JAR 包或 WAR 包),以 Maven 项目为例,通过 mvn clean package 命令生成 JAR 包,或使用 mvn clean install 部署到本地仓库,将生成的 JAR 包上传至 CentOS 服务器,可通过 scp 命令或 FTP 工具(如 FileZilla)传输,建议在服务器上创建专用目录(如 /opt/app)存放项目文件,并设置适当的文件权限(如 chmod 755 project.jar)。
服务配置与启动
启动 Java 项目时,需注意后台运行和日志管理,推荐使用 nohup 命令让进程在后台持续运行,例如执行 nohup java -jar project.jar > app.log 2>&1 &,app.log 为日志文件,若需更高级的管理(如开机自启、进程监控),可使用 systemd 服务,创建服务文件 /etc/systemd/system/myapp.service如下:

[Unit] Description=My Java Application After=network.target [Service] User=root ExecStart=/usr/bin/java -jar /opt/app/project.jar SuccessExitStatus=143 [Install] WantedBy=multi-user.target
保存后执行 systemctl daemon-reload 并启用服务 systemctl enable myapp,通过 systemctl start myapp 启动。
监控与维护
部署后需监控项目运行状态,可通过 ps aux | grep java 检查进程是否存活,或使用 tail -f app.log 查看实时日志,若项目需远程调试,可在启动参数中添加 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005,并通过 IDE 连接调试,定期备份项目文件和日志,避免数据丢失,若需更新版本,先停止服务(systemctl stop myapp),替换 JAR 包后重新启动即可。
相关问答 FAQs
Q1:如何解决 Java 项目启动时内存不足的问题?
A:可通过调整 JVM 参数增加堆内存大小,例如在启动命令中添加 -Xms512m -Xmx1024m 设置初始堆内存为 512MB,最大堆内存为 1GB,若仍不足,需检查项目是否有内存泄漏,或使用 jmap 工具分析堆内存快照。

Q2:如何实现 Java 项目的开机自启?
A:除了使用 systemd 服务外,还可将启动命令写入 /etc/rc.local 文件,并确保文件具有可执行权限,但推荐优先使用 systemd,因其支持更完善的进程管理和依赖控制。