在Linux服务器上部署和运行Java程序:一次完美的后端之旅

本文介绍了如何在Linux服务器上部署和运行Java程序,包括使用nohup命令后台运行jar包,检查进程状态,以及如何通过kill命令管理进程。同时提到了Windows到Linux需要注意的目录分隔符、文件名处理和编码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器运行JAVA程序

        身为一个运维人员和后端开发人员,学会在linux服务器上部署自己写的后端项目是必要的,本篇文章将快速介绍如何在linux服务器上将java程序以jar包形式部署运行。

        首先需要能够远程连接上自己的linux服务器,这里推荐用Xshell+Xftp或者finalshell、Mobaxterm对服务器进行文件管理和控制台操作。在服务器上安装相应的环境——对应版本jdk、数据库、nohup命令等……新建数据库远程连接,导入后端运行需要的数据库。

注意(若部署失败,请回来反复检查以下几点):

  1. 将服务器的对应端口号打开且没被占用,如数据库的3306,以及java程序需要的端口,例:8081……
  2. 数据库是否导入成功。
  3. Jdk环境是否有效。

        将java项目打包成jar包,传输到linux服务器上(SSH连接工具),然后在jar包所在的文件夹下执行以下命令即可:

主要代码:

nohup java -jar 项目名.jar &


ps -aux | grep 项目名


kill -9 进程id

详解:

nohup java -jar 项目名.jar &  ——运行java进程

        需要在项目部署的文件夹中使用该命令行,挂载jar项目,会自动生成一个日志文件(.out,该文件在jar包相同的文件夹内),在里面可看到后端的各种报错信息等(相当于idea的运行结果)

如果运行成功并顺利,你可以在进程中看到运行的该进程

ps -aux | grep 项目名  ——查看linux进程

例:ps -aux | grep java

查看系统的进程,看目标java项目是否在运行。

kill 进程id  ——杀死对应进程

例:kill 13245 或 kill 13245 -9

杀死进程,有些进程可能占用端口或者已经无用但没有停止运行需要杀死才能跑所需项目

关于kill:

kill命令用于终止Linux进程,默认情况下,如果不指定信号,kill 等价于kill -15。

        kill -15执行时,系统向对应的程序发送SIGTERM(15)信号,该信号是可以被执行、阻塞和忽略的,所以应用程序接收到信号后,可以做一些准备工作,再进行程序终止

        有的时候,kill -15无法终止程序,因为他可能被忽略,这时候可以使用kill -9,系统会发出SIGKILL(9)信号,该信号不允许忽略和阻塞,所以应用程序会立即终止。

        这也会带来很多副作用,如数据丢失等,所以,在非必要时,不要使用kill -9命令,尤其是那些web应用、提供RPC服务、执行定时任务、包含长事务等应用中,因为kill -9没给spring容器、tomcat服务器、dubbo服务、流程引擎、状态机等足够的时间进行收尾。

 

Tips:关于windows项目→linux服务器

  1. 目录分割符, Windows 是 \ ,Linux 是 /
  2. 文件名,Windows可为中文,且不区分大小写,但是linux系统区分
  3. 编码,Windows 默认 是GBK, Linux 是 UTF8

参考链接:

https://blog.youkuaiyun.com/Allenzyg/article/details/106139638#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值