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

设置Shiny的app_idle_timeout无效果,寻求解决方法

解决Shiny应用持续活跃的问题

针对你在Ubuntu 22.04上修改app_idle_timeout后仍无法让Shiny应用保持活跃的问题,可按以下步骤排查解决:

  • 确认配置文件的修改位置正确
    app_idle_timeout需要放置在正确的配置块中才能生效:

    • 全局生效:放在server块内的location段下,对所有应用生效
    • 单个应用生效:针对特定应用单独配置application块
      示例配置(全局设置24小时超时):
    server {
      listen 3838;
      location / {
        site_dir /srv/shiny-server;
        log_dir /var/log/shiny-server;
        app_idle_timeout 86400; # 单位:秒,24小时
      }
    }
    
  • 修改配置后必须重启Shiny Server服务
    修改配置文件后,执行以下命令重启服务,确保配置生效:

    sudo systemctl restart shiny-server
    

    可通过以下命令验证服务状态:

    sudo systemctl status shiny-server
    
  • 检查是否存在其他超时配置干扰
    若应用仍会休眠,需排查是否有其他超时设置冲突:

    • 检查init_timeout(应用启动超时)是否设置过小
    • 若使用反向代理(如Nginx),需同步调整代理的超时参数(如proxy_read_timeout)
  • 定时请求唤醒应用(兜底方案)
    若配置调整仍无效,可通过定时请求强制保持应用活跃:

    1. 创建bash脚本keep-shiny-alive.sh:
    #!/bin/bash
    curl -s http://你的服务器IP:3838/你的应用路径 > /dev/null
    
    1. 赋予脚本执行权限:
    chmod +x keep-shiny-alive.sh
    
    1. 通过crontab设置定时任务(例如每10分钟执行一次):
      执行crontab -e添加以下内容:
    */10 * * * * /脚本所在路径/keep-shiny-alive.sh
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:22:13