在 CentOS 上部署 Java 应用,通常包含安装 JDK、上传/构建应用、配置运行方式、设置开机自启、以及(可选)反向代理。下面给你一套通用、可落地的步骤,适用于 Spring Boot、普通 Java 程序等。
cat /etc/centos-release
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
dnf install -y java-17-openjdk
如果是 Spring Boot 3,建议 Java 17+
java -version
mkdir -p /opt/app
cd /opt/app
# 使用 rz / scp / ftp 上传 app.jar
yum install -y maven
mvn clean package -DskipTests
生成的文件一般在:
target/app.jar
java -jar /opt/app/app.jar
nohup java -jar /opt/app/app.jar > app.log 2>&1 &
查看日志:
tail -f app.log
vi /etc/systemd/system/java-app.service
内容示例:
[Unit]
Description=Java Application
After=network.target
[Service]
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/app.jar
SuccessExitStatus=143
Restart=always
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start java-app
systemctl enable java-app
systemctl status java-app
systemctl restart java-app
journalctl -u java-app -f
假设应用端口是 8080:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
测试访问:
curl http://localhost:8080
yum install -y nginx
systemctl enable nginx
systemctl start nginx
vi /etc/nginx/conf.d/app.conf
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
nginx -t
systemctl reload nginx
java -Xms512m -Xmx1024m -jar app.jar
java -jar app.jar --spring.profiles.active=prod
如果你愿意,可以告诉我:
我可以直接给你定制部署方案。