Java程序在CentOS如何部署
导读:Java程序在CentOS上的部署流程 1. 安装Java运行环境(JDK) Java程序运行需依赖JDK,CentOS推荐通过yum包管理器安装OpenJDK(自动处理依赖): # 更新系统软件包 sudo yum update -y...
Java程序在CentOS上的部署流程
1. 安装Java运行环境(JDK)
Java程序运行需依赖JDK,CentOS推荐通过yum包管理器安装OpenJDK(自动处理依赖):
# 更新系统软件包
sudo yum update -y
# 安装OpenJDK 11(或8,根据项目需求选择)
sudo yum install java-11-openjdk-devel -y
# 验证安装(显示版本信息则成功)
java -version # 查看Java运行时版本
javac -version # 查看Java编译器版本(若需编译)
注:若需安装其他版本(如Java 8),将命令中的java-11-openjdk-devel替换为java-1.8.0-openjdk-devel即可。
2. 配置Java环境变量(可选但推荐)
为确保系统全局识别Java命令,需设置JAVA_HOME和PATH变量:
# 编辑全局环境变量文件(需root权限)
sudo vi /etc/profile
# 在文件末尾添加(以OpenJDK 11为例)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
# 使配置立即生效
source /etc/profile
# 验证环境变量
echo $JAVA_HOME # 应显示JDK安装路径
which java # 应返回Java可执行文件路径(如/usr/bin/java)
3. 上传Java程序至服务器
将本地编译好的Java程序(JAR包或WAR包)上传至CentOS服务器,常用工具为scp(安全拷贝):
# 本地(Windows/Mac)执行:将target/my-app.jar上传至服务器的/home/user/deploy目录
scp target/my-app.jar user@your_server_ip:/home/user/deploy
# 或使用rsync(支持增量同步)
rsync -avz target/my-app.jar user@your_server_ip:/home/user/deploy
4. 运行Java程序
4.1 运行JAR包(普通Java应用)
# 进入JAR包所在目录
cd /home/user/deploy
# 后台运行(&
符号),输出日志至nohup.out
nohup java -jar my-app.jar &
# 查看运行状态(确认进程存在)
ps -ef | grep java
# 查看实时日志(可选)
tail -f nohup.out
4.2 运行WAR包(Java Web应用)
若程序为Web应用(WAR包),需先安装Tomcat作为应用服务器:
# 安装Tomcat 9(通过yum)
sudo yum install tomcat -y
# 启动Tomcat服务
sudo systemctl start tomcat
sudo systemctl enable tomcat # 开机自启动
# 将WAR包复制到Tomcat的webapps目录(自动解压部署)
cp /home/user/deploy/my-app.war /usr/share/tomcat/webapps/
# 验证部署(浏览器访问)
http://your_server_ip:8080/my-app # 替换my-app为WAR包名
5. 配置开机自启动(可选但生产环境必做)
使用systemd创建服务单元文件,确保Java程序随服务器重启自动运行:
# 创建服务文件(以my-java-app为例)
sudo vi /etc/systemd/system/my-java-app.service
# 添加以下内容(修改路径为实际JAR包路径)
[Unit]
Description=My Java Application
After=syslog.target network.target
[Service]
User=user # 运行程序的用户(避免使用root)
ExecStart=/usr/bin/java -jar /home/user/deploy/my-app.jar
SuccessExitStatus=143 # JVM正常退出状态码
Restart=on-abort # 异常退出时重启
RestartSec=10 # 重启间隔10秒
[Install]
WantedBy=multi-user.target
# 重载systemd配置
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start my-java-app
# 设置开机自启动
sudo systemctl enable my-java-app
# 验证服务状态
sudo systemctl status my-java-app
6. 防火墙配置(可选)
若服务器开启了防火墙,需允许Java程序使用的端口(如Tomcat的8080、应用自身的端口):
# 允许8080端口(Tomcat默认)
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重新加载防火墙规则
sudo firewall-cmd --reload
# 验证端口是否开放
sudo firewall-cmd --zone=public --query-port=8080/tcp # 返回yes则开放
以上步骤覆盖了Java程序在CentOS上的完整部署流程,涵盖环境准备、程序上传、运行配置及生产优化(如开机自启动、防火墙)。根据项目类型(普通Java应用/Web应用)选择对应步骤即可。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Java程序在CentOS如何部署
本文地址: https://pptw.com/jishu/743506.html
