从自己的(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的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 重定向离开方法重定向到自己的域

如何从我自己网络中的公共 IP 访问我的网页

将 AWS Elastic Beanstalk URL 重定向到我自己的域

在 Rails/Apache 中自动托管用户域

前端/后端分离:Safari 不存储来自 API 的 cookie,该 API 托管在与其前端 SPA 客户端不同的域上

从自己的域中获取 api 时出现 CORS 错误