如何把Java程序部署到服务器上实现公网访问

教程大全 2026-02-18 20:53:38 浏览

将Java程序从本地开发环境迁移到云服务器上运行,是将其交付给用户的关键一步,这个过程涉及环境配置、文件传输和程序启动等多个环节,下面将详细介绍java程序怎么在服务器上运行的完整流程,帮助开发者顺利完成部署。

准备工作

在开始之前,请确保您已具备以下条件:


核心部署步骤

连接到云服务器

通过SSH连接到您的云服务器,打开终端或SSH客户端,输入以下命令(请将 your_server_ip 替换为您的服务器公网IP地址):

ssh root@your_server_ip

首次连接时会提示接受服务器的指纹,输入并按回车,然后输入您设置的服务器密码即可登录。

安装Java运行环境(JRE)

云服务器默认可能没有安装Java,要运行Java程序,必须安装Java运行环境(JRE),推荐安装OpenJDK,这是一个开源且广泛使用的Java实现。

对于基于Debian/Ubuntu的系统:

sudo apt updatesudo apt install openjdk-11-jre -y

对于基于CentOS/RHEL的系统:

sudo yum install java-11-openjdk -y

安装完成后,可以通过 java -version 命令验证是否安装成功。

上传Java程序到服务器

将本地打包好的文件上传到服务器的指定目录,常用的方法有两种:

运行Java程序

上传完成后,在SSH终端中进入文件所在的目录,使用以下命令启动程序:

java -jar program.jar

程序会在前台运行,如果您关闭SSH窗口,程序也会随之停止,这对于生产环境是不可接受的。


进阶:让程序在后台持续运行

要确保java程序怎么在云服务器上运行后能持续提供服务,即使您断开SSH连接,我们需要使用后台运行工具。

使用和 这是最简单快捷的方法。命令可以让程序忽略挂起信号,符号则让程序在后台执行。

nohup java -jar program.jar &

执行后,程序会在后台运行,并将日志输出到当前目录下的文件中。

使用创建系统服务(推荐) 这是一种更专业、更稳定的方式,可以实现开机自启、自动重启等功能。

Spring
配置项 说明
服务单元定义
Description=My Java App 服务的描述信息
After=network.target 在网络启动后启动
服务配置
运行服务的用户
ExecStart=/usr/bin/java -jar /home/program.jar 启动命令,使用java的绝对路径和jar包的绝对路径
SuccessExitStatus=143 成功退出状态码
安装配置
WantedBy=multi-user.target 在多用户模式下启用

您的Java程序将作为一个系统服务可靠地运行在云服务器上,通过 systemctl status myapp.service 可以查看其运行状态。


相关问答FAQs

为什么我直接用命令运行,关闭SSH窗口后程序就停止了? :当您通过SSH直接执行命令时,该命令会与当前的SSH会话绑定,SSH会话结束时,系统会向该会话下的所有进程发送一个“挂断信号”(SIGHUP),默认情况下这会导致进程终止。命令的作用就是让程序忽略这个信号,而符号则将程序放入后台执行,从而脱离当前会话,实现持续运行。

云服务器应该选择哪种配置来运行Java程序? :选择配置主要取决于您的Java程序的性质和预期负载。 核心关注三个指标 :、 内存(RAM) 磁盘 ,Java程序是内存消耗大户,JVM(Java虚拟机)本身就需要占用一定内存,因此 内存是首要考虑因素 ,如果您的程序涉及大量计算(如数据分析、图像处理),则需要更强的CPU,如果程序需要存储大量文件或数据,则需要更大的磁盘空间,建议从小规格开始,根据实际监控的CPU和内存使用情况再进行弹性升级。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐