You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保持后端服务持续运行?首次部署操作流程确认

后端服务部署操作的可行性解答

你的步骤理论上能临时启动服务,但存在致命缺陷,具体说明如下:

  • SSH登录服务器:这是远程操作服务器的标准流程,完全没问题。
  • 直接执行java -jar backend.jar &放后台:这种方式下,进程属于当前SSH会话的子进程,当你关闭SSH连接时,系统会给该进程发送SIGHUP信号,导致服务直接终止。
  • 关闭SSH连接:如上述所说,直接这么操作会导致服务停止,所以这套流程根本不可靠。

靠谱的替代方案

临时测试用:nohup命令

执行以下命令让进程脱离会话控制:

nohup java -jar backend.jar > backend.log 2>&1 &
  • nohup:让进程忽略SIGHUP信号,断开SSH后不会被终止
  • > backend.log 2>&1:将标准输出和错误输出都写入日志文件,方便后续排查问题
  • 最后的&:让进程在后台运行

生产环境推荐:systemd进程管理

这是Linux系统的标准服务管理方式,能实现服务自动重启、开机自启等功能:

  1. 创建服务配置文件/etc/systemd/system/backend.service,写入内容:
    [Unit]
    Description=Backend Service
    After=network.target
    
    [Service]
    User=your_username  # 替换为实际运行服务的用户
    ExecStart=/usr/bin/java -jar /path/to/backend.jar  # 替换为jar包的实际路径
    Restart=always  # 服务崩溃后自动重启
    RestartSec=5  # 重启间隔5秒
    
    [Install]
    WantedBy=multi-user.target
    
  2. 执行以下命令完成配置:
    sudo systemctl daemon-reload
    sudo systemctl start backend
    sudo systemctl enable backend  # 设置开机自启
    
  3. 后续管理命令:
    • 查看服务状态:sudo systemctl status backend
    • 停止服务:sudo systemctl stop backend
    • 重启服务:sudo systemctl restart backend

内容的提问来源于stack exchange,提问作者ilovecodingthisis_cool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 17:27:14