从自己的(Linux)服务器和自己的域托管 ShinyApp
Posted
技术标签:
【中文标题】从自己的(Linux)服务器和自己的域托管 ShinyApp【英文标题】:Host ShinyApp from own (Linux) server and own domain 【发布时间】:2021-11-10 17:02:02 【问题描述】:我编写了一个 Shiny WebApp,现在想自己部署它。到目前为止,我已经在 shinyapps.io 提供了它。为此,我已经设置了自己的服务器(在数据中心上运行的虚拟机),安装了 CentOS 服务器并购买了自己的域。同样,我已经安装了 ShinyServer。
但是,现在我真的不知道如何进行。 在论坛中,我发现了各种可能性,但我无法真正理解。因此我想在这里问一下,从自己的域下的自己的服务器上提供一个 Shiny WebApp 的可能性是最简单的。这应该可以在没有额外费用的情况下工作。
提前致谢!
【问题讨论】:
【参考方案1】:如果你已经在 CentOs 实例上安装了 Shinyserver,我建议你这样做
-
通过检查示例应用程序是否正在运行来测试安装是否正常运行:
转到本地计算机上的网络浏览器 http://"your-server-address":3838/sample-apps
测试应用应该显示在这里,如果没有:
$ sudo systemctl start shiny-server
再次检查
将您的 App.R 复制(scp 或从 git 克隆)到服务器上,并将其放在 /srv/shiny-server/ - 目录的子目录中
检查应用程序是否在服务器端口 3838 上显示并正常运行(通常缺少依赖项):
http://"your-server-address":3838/myApp
4:阅读
文档:https://docs.rstudio.com/shiny-server/ 快速入门指南:https://shiny.rstudio.com/articles/shiny-server.html【讨论】:
http://"your-server-address":3838 工作正常,但 http://"your-server-address":3838/sample-apps 显示:发生错误,应用程序无法启动。应用程序在初始化期间退出。 听起来有些软件包可能没有安装(可能很闪亮)。您可以在 /var/ (/var/log/shiny-server.log) 和 /var/log/shiny-server/*.log 查看错误日志,或者用户没有正确的权限,请参阅:community.rstudio.com/t/…跨度> 现在我做对了。这是由于访问权限。 (而我仍然无法打开文件夹sample-apps
)。我将 .rmd 文件复制到文件夹中,现在我可以在 Web 浏览器中打开它:http://"your-server-address":3838/myApp.Rmd
在我自己的域下使 ShinyAPP 可用的下一步是什么?以上是关于从自己的(Linux)服务器和自己的域托管 ShinyApp的主要内容,如果未能解决你的问题,请参考以下文章
将 AWS Elastic Beanstalk URL 重定向到我自己的域
前端/后端分离:Safari 不存储来自 API 的 cookie,该 API 托管在与其前端 SPA 客户端不同的域上