RShiny应用可通过四种方式部署:一、shinyapps.io云托管,需安装rsconnect包并调用deployApp;二、Shiny Server开源版,适用于Linux本地部署;三、Docker容器化,打包环境确保一致性;四、RStudio Connect企业级平台,支持多类型内容与权限管理。

如果您开发了一个 RShiny 交互式图表应用,但希望他人能够通过网络访问,就需要将该应用部署到服务器上。以下是发布 RShiny 应用的几种常见方法:
一、使用 shinyapps.io 部署
shinyapps.io 是 RStudio 官方提供的云托管平台,适合快速部署和分享 Shiny 应用。该服务对个人用户免费提供一定额度的运行时长。
1、在 R 控制台中安装 rsconnect 包:运行 install.packages("rsconnect")。
2、登录 shinyapps.io 账户并获取账户令牌,在 R 中执行 rsconnect::setAccountInfo(name='your_account', token='your_token', secret='your_secret')。
3、确保您的 Shiny 应用文件(如 app.R 或包含 ui.R 与 server.R 的文件夹)结构完整。
4、在 R 中运行 rsconnect::deployApp("your_app_directory"),系统将自动上传并部署应用。
二、使用 Shiny Server 开源版自建服务器
Shiny Server 是 RStudio 提供的开源服务器软件,可在 Linux 系统上本地部署多个 Shiny 应用,适用于内部网络或私有部署场景。
1、在 Ubuntu 或 CentOS 系统中安装 R 和必要的依赖包,例如 sudo apt-get install r-base gdebi-core。
2、从 RStudio 官网下载 Shiny Server 的 .deb 或 .rpm 安装包,并使用 gdebi 安装:sudo gdebi shiny-server-1.5.20.983-amd64.deb。
3、将您的 Shiny 应用文件夹复制到默认应用目录 /srv/shiny-server/ 下。
4、重启 Shiny Server 服务以加载新应用:sudo systemctl restart shiny-server。
三、通过 Docker 容器化部署
利用 Docker 可以将 Shiny 应用及其运行环境打包成镜像,便于在任何支持 Docker 的主机上一致地运行,避免环境配置问题。
1、在项目根目录创建 Dockerfile,基础镜像可选用 rocker/shiny。
2、在 Dockerfile 中使用 COPY 指令将应用代码复制到容器内的 /srv/shiny-server/ 目录。
3、构建镜像:在终端执行 docker build -t my-shiny-app .。
4、运行容器并映射端口:执行 docker run -p 3838:3838 my-shiny-app,即可通过主机的 3838 端口访问应用。
四、使用 RStudio Connect 企业级部署
RStudio Connect 是 RStudio 提供的企业级发布平台,支持 Shiny、R Markdown、Plumber API 等多种内容类型,具备用户权限管理、调度、日志监控等功能。
1、由系统管理员在服务器上安装并配置 RStudio Connect 服务。
2、开发者在 RStudio IDE 中点击 “Publish” 按钮,选择目标 RStudio Connect 服务器。
3、系统自动检测依赖包并上传应用源码至 Connect 服务器。
4、在 RStudio Connect 的 Web 界面中设置访问权限、运行时参数及资源限制。






