本节展示了如何分享和部署Shiny APP。您可以将开发好的Shiny APP部署在自己的服务器上,或是将其部署在公共的平台(即shinyapps.io)上。这里仅分享后者。对于如何将Shiny APP部署到自己的服务器中,将在未来进行补充。

部署至shinyapps.io平台

操作步骤

  • Step1: 在shinyapps.io官网上注册账号。您会被要求填写用户名。
  • Step2: 重新打开shinyapps.io官网,单击右上角Dashboard按钮(图1)。进入Dashboard界面(图2)后,单击左侧边栏Acccount > Tokens。您将在右侧主面板中看到Token和Secret信息。单击“Show”按钮,弹出对话框。
  • Step3: 不要关闭该网页。现假设您的APP名称是"myapp"。在本地的文件浏览器中新建一个文件夹,名为"myapp"。确保该文件夹中有“app.R”文件,并且"app.R"文件的末尾要有shinyApp函数(或能返回与shinyApp函数相同类型的对象的函数)。
  • Step4: 用RStudio打开文件"app.R"。在命令行窗口中输入runApp()。这一步称为本地测试。若您的Shiny APP成功运行,方可进行下一步。
  • Step5: 运行以下代码。若报错提示您未安装某些包,则采用install.package安装相应的包即可。代码运行完成后,会自动弹出一个网页,网页内容即是您的Shiny APP,表明部署完成。
if(!require(rsconnect)) install.packages("rsconnect")
rsconnect::setAccountInfo(name='Your Account',token='Your Token',secret='Your Secret')
#name, token, secret信息来源于Step2网页中的对话框
deployApp()


图1 shinyapps.io官网主界面

图2 shinyapps.io Dashboard界面

常见问题

运行deployApp()时有可能产生各种各样的报错:

  • HTTP 409 POST https://api.shinyapps.io/xxx Unable to dispatch task for application=xxx, there are 1 tasks in progress
    原因: 您想要覆盖原来已经部署好的Shiny APP,但有人正在使用它,因此覆盖失败。
    解决: 在Dashboard界面(图2)中单击左侧边栏Applications > All。找到相应的APP,单击右侧的Archive Application按钮(图标形如仓库),将APP归档,停止使用权,然后再重新部署。
  • Unhandled Exception: Child Task 1075439621 failed: Error building image: Error fetching xxx source. <CRANPackageSource repo=‘http://cran.rstudio.org’> unable to satisfy package: xxx
    原因: 使用了CRAN中尚不存在的包。
    解决: 在代码中避免使用CRAN不存在的包;其他更好的解决方法尚在研究…
  • HTTP 404 GET https://api.shinyapps.io/v1/applications/xxx
    Not Found

    原因: 您将已部署的APP删掉了,因此deployApp()找不到原先设定的地址。
    解决: 删掉"myapp"目录下的"rsconnect"文件夹(这个文件夹是deployApp()运行时自动生成的),然后重新部署。
  • Error in curl::curl_fetch_memory(url, handle = handle) : Timeout was reached: [api.shinyapps.io] Operation timed out after 10000 milliseconds with 0 out of 0 bytes received
    原因: 网络不好,再来一次。

部署至服务器

(Under Construction…)

上一篇: Shiny平台构建与R包开发(六)——R包开发与发布


欢迎感兴趣的同行朋友们批评指正。
联系邮箱:hrwu_ecology@163.com

Shiny平台构建与R包开发(七)——Shiny APP部署相关推荐

  1. Shiny平台构建与R包开发

    Introduction 在数据库网页搭建教程中已经提到,数据分析决策平台的搭建十分重要.数据库网页是数据分析决策平台的重要表现形式之一,能够很好地将大量数据或其分析结果公开展示,并能提供数据下载.统 ...

  2. Shiny平台构建与R包开发(五)——ui美化

    本节简单地向读者介绍Shiny APP中ui的美化方法. shinythemes 利用shinythemes包,您可以选择不同的bootstrap风格,并将其应用到Shiny APP中. 安装完shi ...

  3. Shiny平台构建与R包开发(四)——按钮与响应事件

    作为Shiny平台构建与R包开发教程的第四小节,本节向读者进一步强调Shiny server的工作机理,并由此设计按钮点击事件. Shiny server工作机理与问题 前面的几个小节已经向读者初步解 ...

  4. Shiny平台构建与R包开发(三)——数据输出

    作为Shiny平台构建与R包开发教程的第三小节,本节向读者展示如何利用Shiny server输出自己想要的数据,包括Rplot.Table.Text等信息. 数据输出机制 仍以上一节的案例为基础: ...

  5. Shiny平台构建与R包开发(二)——数据输入

    作为Shiny平台构建与R包开发教程的第二小节,本节向读者介绍如何利用Shiny server处理用户输入的各种信息.这些信息既包括用户向Shiny上传的数据集,也包括用户对Shiny页面的各种控件( ...

  6. Shiny平台构建与R包开发(一)——ui布局

    本节为Shiny平台构建与R包开发教程的第一小节. Getting Started 初识Shiny时,了解其工作机理非常重要.下面的案例展示了一个最简单的Shiny APP的工作机理: #DO NOT ...

  7. R包开发每日中国天气

    R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语言变成了一门炙手可 ...

  8. R · R 包开发 | 保姆级教程

    R · R 包开发 一般在初始阶段我们都是使用别人的函数来完成大部分任务,那些函数大多来自 R 标准安装的包或者可以从 CRAN 下载的包. 安装新的包可以拓展 R 的功能.比如说,安装 ggplot ...

  9. 优秀开源平台,前后端分离快速开发平台,一站式多端开发(PC+APP)

    JNPF平台架构介绍 JNPF快速开发平台采用前后端分离技术.采用B/S架构开发,形成一站式开发多端(APP+PC)使用. PC端版本介绍 第一个当然是当下热门的.net core了,运行环境为Vis ...

最新文章

  1. ASP.NET之.NET FrameWork框架
  2. Acwing756. 蛇形矩阵:模拟
  3. android4 设置栈大小,【技术分享】Android内核漏洞利用技术实战:环境搭建栈溢出实战...
  4. 国际智商测试皮肤软件,爆火的口服玻尿酸,是美容神器还是智商税?
  5. Node.js Performance
  6. 对VS2008生成智能win32程序简单理解
  7. 2018.11.08 NOIP模拟 景点(倍增+矩阵快速幂优化dp)
  8. mysql增量备份脚本
  9. 高中计算机学ppt吗,高中信息技术人工智能教学培训课件选修5ppt
  10. 你知道门禁卡的原理吗?手机模拟门禁卡研究
  11. 基于KNN的手写数字识别
  12. mysql怎么删除临时表里的数据_MySQL如何创建和删除临时表 | 学步园
  13. 无线网络和本地连接同时启用后,无线网络无法使用。
  14. python量化交易系统_Python学员作品-股票量化交易系统
  15. PYNQ搭建系统-Petalinux上网方式
  16. Iec61850 部署调试笔记一
  17. AES AES/GCM/NoPadding 加密解密
  18. 微信支付通用支付接口
  19. 分治算法小结(附例题详解)
  20. BlueZ移植与配置(很全面)

热门文章

  1. 如何保证MySQL和Redis的数据一致性?
  2. TIDB,面向未来的数据库到底是什么?
  3. 百度二面:一个线程OOM了,其它线程还能运行吗?
  4. 某程序员吐槽:31岁小姐姐拒绝条件优越的大厂程序员,只因身高不足163cm,难道矮是原罪?...
  5. 是小厂全栈好,还是大厂专业工程师好?
  6. 阿里不让多表join?我偏要!
  7. 推荐10个毕业3年,月入5万技术大神的公众号!
  8. 十大流行AI框架和库的优缺点对比
  9. 分享8个非常实用但是名气不大的软件
  10. 如何在vs 下敲linux代码且具有提示功能