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

如何在Linux服务器后台/离线运行Dash App并保持持续访问

Dash 应用后台持续运行解决方案

你遇到的问题本质是SSH会话退出时,系统会给会话关联的前台进程发送SIGHUP信号终止进程,以下是三种无需Docker、无需外部云服务的原生Linux解决方案,按使用场景区分:

方案1:nohup 临时后台运行(快速测试场景)

无需额外安装软件和复杂配置,适合临时部署验证使用:

  • 启动命令:nohup python app.py &
  • 运行说明:nohup会忽略挂断信号,进程在你登出服务器后仍会继续运行,默认会将应用输出日志保存在当前目录的nohup.out文件中
  • 停止服务操作:先查询进程ID ps aux | grep app.py,找到对应PID后执行 kill <PID> 即可
  • 注意:服务器重启后服务不会自动恢复,需要手动重新启动

方案2:systemd 服务托管(生产环境推荐)

Linux系统原生服务管理工具,支持崩溃自动重启、开机自启,稳定性最高:

  1. 以root权限新建服务配置文件 /etc/systemd/system/dash-app.service,填入以下内容(注意替换占位符为你自己的实际路径和用户名):

[Unit]
Description=Dash 应用服务
After=network.target

[Service]
User=<你的服务器用户名>
WorkingDirectory=<app.py所在目录的绝对路径,例如/home/sudheer/dash-project>
ExecStart=<Python解释器绝对路径,可通过which python3查询> <app.py的绝对路径,例如/home/sudheer/dash-project/app.py>
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

  1. 重载systemd配置:sudo systemctl daemon-reload
  2. 启动服务:sudo systemctl start dash-app.service
  3. 设置开机自启:sudo systemctl enable dash-app.service
  • 常用管理命令:
    • 查看服务运行状态:systemctl status dash-app.service
    • 查看实时日志:journalctl -u dash-app.service -f
    • 重启服务:sudo systemctl restart dash-app.service
    • 停止服务:sudo systemctl stop dash-app.service

方案3:tmux 会话保留(需随时查看控制台输出场景)

如果需要频繁查看应用实时控制台输出,不想反复查询日志,可以使用终端复用工具保留会话:

  • 安装tmux:Debian/Ubuntu系执行sudo apt install tmux,CentOS/RHEL系执行sudo yum install tmux
  • 新建专属会话:tmux new -s dash-app
  • 进入会话后正常启动应用:python app.py
  • 按Ctrl+B后再按D即可将会话退到后台运行,此时登出服务器不影响进程运行
  • 后续需要回到会话查看输出:执行tmux attach -t dash-app即可
  • 注意:服务器重启后会话会消失,需要手动重新创建并启动应用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:15:06