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

部署在Shiny Server的多应用如何访问相同数据或指定共享路径

解决Shiny Server多应用共享访问指定文件夹的方案

方案1:调整运行身份与目录权限(适用于全部应用共享访问)

  • 首先找到Shiny Server的默认配置文件,路径为/etc/shiny-server/shiny-server.conf
  • 修改配置文件顶部的run_as参数,默认值为run_as shiny;,你可以将需要访问共享目录的用户加入shiny用户组,也可以直接修改为run_as <指定用户名> shiny;,确保Shiny的运行身份对目标共享目录具备对应读/写权限
  • 给目标共享目录配置权限,执行命令:chgrp -R shiny /path/to/your/shared/folder && chmod -R g+rwx /path/to/your/shared/folder
  • 权限配置完成后,在应用中直接使用共享目录的绝对路径即可访问对应内容,无需将文件复制到应用自身目录下
  • 全部配置完成后重启Shiny Server生效:systemctl restart shiny-server

方案2:配置应用级别名(适用于仅部分应用访问)

如果不希望所有应用都能访问共享目录,可以针对指定应用单独配置路径别名:

  • 编辑/etc/shiny-server/shiny-server.conf,找到对应应用的location配置块,添加别名映射规则,示例如下:
location /target-app {
  site_dir /srv/shiny-server/target-app;
  log_dir /var/log/shiny-server/target-app;
  # 配置共享目录别名,将本地/shared路径映射到目标共享文件夹
  alias /path/to/your/shared/folder /shared;
}
  • 配置完成后重启Shiny Server,仅被配置的应用可以通过/shared路径访问共享目录内容,其余未配置的应用无法访问该路径

注意事项

  • 不要给共享目录开放过高的全局权限,仅给必要的运行身份授予最小可用权限即可,避免出现安全风险
  • 如果应用仅需要读取共享目录内容,可将权限调整为只读,减少误操作风险
  • Windows环境部署的Shiny Server无需额外修改配置文件,只要运行Shiny Server服务的账号对目标路径有访问权限,直接在应用中填写绝对路径即可访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:45:02