Ubuntu 16.04 上的闪亮服务器:无法用我的应用替换示例应用
Posted
技术标签:
【中文标题】Ubuntu 16.04 上的闪亮服务器:无法用我的应用替换示例应用【英文标题】:Shiny Server on Ubuntu 16.04: Can't replace sample app with my app 【发布时间】:2018-02-13 09:10:53 【问题描述】:我使用 R 已经有一段时间了,但我对 Linux 还是很陌生。我已经能够让示例应用程序在我的 AWS EC2 实例上的 Shiny Server 上运行(开头“如果您看到此页面,这意味着 Shiny Server 已安装并正在运行。恭喜!”),但是当我尝试用我自己的应用程序替换示例应用程序,我不成功。另外,我从http://www.louisaslett.com/RStudio_AMI/ 开始使用 R Studio AMI,但在故障排除时多次更改了默认配置文件。
尝试 1: 使用 SampleApps 目录中的 R Studio Server,我删除了 index.html 和 sample-apps 目录。我在一个名为 facility 的新目录中添加了一个 server.R 文件和一个 ui.R 文件。然后用
重新启动R$ sudo systemctl stop shiny-server
$ sudo systemctl start shiny-server
然后我回到显示原始应用程序的 12.34.56.789/shiny/rstudio/,它仍然显示。但我期待它会切换到我的设施应用程序。
尝试 2: 找到我的文件并将它们移动到 /srv/shiny-server/
# Remove sample app:
$ sudo rm /srv/shiny-server/index.html
$ sudo rm -rf /srv/shiny-server/sample-apps
# Copy files from R Studio Server location to Shiny Server
$ locate -br '^server.R$' # to find file path
$ cd /srv/shiny-server/
$ sudo mkdir facilities
$ cp /home/rstudio/ShinyApps/facilities/server.R /srv/shiny-server/facilities/server.R
$ cp /home/rstudio/ShinyApps/facilities/ui.R /srv/shiny-server/facilities/ui.R
在 12.34.56.789/shiny/rstudio/ 和 12.34.56.789/rstudio/facilities 上找不到页面
尝试 3: 仅将“hello”示例应用中的特定 server.R 和 ui.R 文件替换为我的 server.R 和 ui.R 文件,以查看我的应用是否会嵌入到演示中。
$ cp /home/rstudio/ShinyApps/facilities/server.R /srv/shiny-server/sample-apps/hello/server.R
$ cp /home/rstudio/ShinyApps/facilities/ui.R /srv/shiny-server/sample-apps/hello/ui.R
然后停止并使用 systemctl 再次启动闪亮的服务器。结果是示例应用程序在示例闪亮应用程序所在的框中显示错误。
尝试 4: 查找并修复配置文件问题
$ sudo nano /opt/shiny-server/config/default.config
并将“run_as”从“shiny”更改为我一直使用的非 root 用户名:“rstudio”
我还将托管模型更改为 user_dirs 以使用 R Studio Server 中的 ShinyApps 文件夹。如上所述停止并启动了闪亮服务器,但是当我转到上面列出的相同 URL 时得到“页面未找到”。
当我在 R Studio Server 上运行该应用程序时,它运行良好,单击“运行应用程序”,它与闪亮服务器位于同一实例/服务器上,但我错过了以某种方式实际部署它的步骤。我错过了什么?
【问题讨论】:
【参考方案1】:我找到了自己问题的答案。当我使用来自http://www.louisaslett.com/RStudio_AMI/ 的 AMI 时,我设置了同一页面上描述的 Dropbox 链接。这是一项功能,您可以从 R Studio Server 中访问 Dropbox 上的文件。在 R Studio Server 中工作时,我将 read.csv() 中的文件路径更改为 server.R 和 ui.R 中的链接 Dropbox 目录。它们在 R Studio Server 中渲染得很好,但是当我将文件复制到 /srv/shiny-server/ 时,Shiny Server 无法通过 Dropbox 访问文件,或者至少我没有将其设置为这样做。
我将文件移动到目录 /home/rstudio/data/example.csv 并更改了 server.R 和 ui.R 中 read.csv() 中的文件路径。然后我将 server.R 和 ui.R 从 /home/rstudio/ShinyApps/facilities/ 重新复制到 /srv/shiny-server/
当我回到 12.34.56.789:3838 时,我的应用出现了。
【讨论】:
以上是关于Ubuntu 16.04 上的闪亮服务器:无法用我的应用替换示例应用的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat8无法在Windows Host上的VirtualBox Vagrant中以Ubuntu 16.04启动
无法在 python 中为 ubuntu 16.04 上的 libreoffice 导入 uno
无法在 Ubuntu 16.04 服务器上安装 dotnet-sdk2.1
在 Ubuntu 16.04 上的 Nginx 中设置 phpmyadmin 和反向代理后无法获取 /phpmyadmin