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

两个Shiny应用能否共用同一端口?部署故障排查求助

Shiny多应用部署故障排查步骤

1. 校验App2的文件与代码有效性

  • 确认App2文件夹内ui.R/app.R、server.R文件存在且命名正确(Linux系统区分大小写)
  • 在服务器本地直接运行App2,验证代码无语法错误或依赖缺失:
    R -e "shiny::runApp('/path/to/App2')"
    
  • 检查App2代码中是否存在硬编码的端口、IP或本地路径,导致部署时无法适配服务器环境

2. 检查Shiny Server配置与权限

  • 查看Shiny Server主配置文件(默认路径/etc/shiny-server/shiny-server.conf),确认多应用路由配置正确:
    标准多应用配置示例:
    server {
      listen XX;
      location / {
        site_dir /srv/shiny-server;
        log_dir /var/log/shiny-server;
        directory_index on;
      }
    }
    
  • 确保App2文件夹的权限允许Shiny Server进程(通常为shiny用户)读取:
    sudo chown -R shiny:shiny /srv/shiny-server/App2
    sudo chmod -R 755 /srv/shiny-server/App2
    

3. 分析日志定位错误

  • 查看App2的专属日志文件(默认路径/var/log/shiny-server/App2.log),获取具体报错信息:
    tail -f /var/log/shiny-server/App2.log
    
  • 检查Shiny Server主日志(/var/log/shiny-server/shiny-server.log),排查应用启动、路由转发类问题

4. 验证网络与端口可用性

  • 确认端口XX未被其他进程占用:
    ss -tulpn | grep XX
    
  • 在服务器本地发起请求测试App2:
    curl http://localhost:XX/App2
    
    若本地可访问,需检查云端安全组/防火墙规则,确保端口XX对外开放且允许客户端IP访问

5. 核对依赖与环境版本

  • 确认服务器已安装App2所需的所有R包,且版本与本地开发环境一致:
    R -e "installed.packages()[c('shiny', '依赖包名称'), 'Version']"
    
  • 检查服务器R版本是否与本地匹配,版本差异可能引发兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 22:27:15