RShiny交互图表如何部署 RShiny应用发布流程【教学】

发布时间 - 2026-01-08 00:00:00    点击率:
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 界面中设置访问权限、运行时参数及资源限制。


# linux  # centos  # markdown  # docker  # app  # 端口  # ubuntu  # amd  # 环境配置  # Token  # copy  # ide  # ui  # 镜像  # 您的  # 开源  # 适用于  # 器上  # 上传  # 运行环境  # 如果您  # 多个  # 令牌 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  北京企业网站设计制作公司,北京铁路集团官方网站?  javascript中对象的定义、使用以及对象和原型链操作小结  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  微信小程序 require机制详解及实例代码  晋江文学城电脑版官网 晋江文学城网页版直接进入  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何在阿里云服务器自主搭建网站?  C++时间戳转换成日期时间的步骤和示例代码  ,在苏州找工作,上哪个网站比较好?  Android自定义listview布局实现上拉加载下拉刷新功能  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  装修招标网站设计制作流程,装修招标流程?  如何基于云服务器快速搭建网站及云盘系统?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  如何在自有机房高效搭建专业网站?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  如何选择PHP开源工具快速搭建网站?  如何在建站主机中优化服务器配置?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何用PHP工具快速搭建高效网站?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Java垃圾回收器的方法和原理总结  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何快速配置高效服务器建站软件?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  如何用JavaScript实现文本编辑器_光标和选区怎么处理  高防服务器租用如何选择配置与防御等级?  公司门户网站制作流程,华为官网怎么做?  如何在IIS中配置站点IP、端口及主机头?  Laravel中的withCount方法怎么高效统计关联模型数量  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何在IIS中新建站点并配置端口与物理路径?  网站优化排名时,需要考虑哪些问题呢?  如何用PHP快速搭建CMS系统?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  如何实现建站之星域名转发设置?  Laravel怎么使用Intervention Image库处理图片上传和缩放  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】