温馨提示×

centos怎样远程跑java

小樊
47
2026-10-02 19:28:09
栏目: 编程语言

在 CentOS 上“远程跑 Java”通常有以下几种常见场景,我按最常用、最实用的方式给你梳理一下,你可以根据自己的需求对号入座。


一、通过 SSH 远程登录运行 Java(最常见)

1️⃣ 前提条件

  • 本地电脑能 SSH 连上 CentOS
  • CentOS 已安装 JDK

检查 Java:

java -version

没装的话:

yum install -y java-1.8.0-openjdk-devel

2️⃣ 上传 Java 程序

比如你本地有 Demo.jar

scp Demo.jar user@centos_ip:/home/user/

3️⃣ SSH 登录并运行

ssh user@centos_ip
cd /home/user
java -jar Demo.jar

⚠️ 这样关闭 SSH 后程序会停。


4️⃣ 后台运行(推荐)

nohup java -jar Demo.jar > app.log 2>&1 &

查看日志:

tail -f app.log

二、使用 screen / tmux(不断线)

安装 screen

yum install -y screen

使用

screen
java -jar Demo.jar

断开 SSH:

Ctrl + A + D

重新进入:

screen -r

三、远程调试 Java(开发用)

1️⃣ 启动远程调试

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar Demo.jar

2️⃣ 本地 IDE 配置

  • IntelliJ / Eclipse
  • Remote JVM Debug
  • Host: CentOS IP
  • Port: 5005

⚠️ 防火墙要放行:

firewall-cmd --add-port=5005/tcp --permanent
firewall-cmd --reload

四、作为系统服务运行(生产环境推荐)

1️⃣ 创建 service

vim /etc/systemd/system/demo.service

内容:

[Unit]
Description=Java Demo
After=network.target

[Service]
User=user
ExecStart=/usr/bin/java -jar /home/user/Demo.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

2️⃣ 启动

systemctl daemon-reload
systemctl start demo
systemctl enable demo

五、Web 方式远程触发(进阶)

  • Spring Boot + REST 接口
  • Jenkins 远程构建
  • Ansible 远程执行

如果你说的是“在网页上点一下就跑 Java”,那就属于这一类。


你可以告诉我:

  1. 是 跑 jar 还是 java 文件?
  2. 是 临时跑一下 还是 长期运行?
  3. 是否要 远程调试?

我可以直接给你一套最适合你场景的命令。

0 踩