Hosting LAN Shiny apps run from command line

2019-02-27 17:52发布

问题:

I am trying to host a Shiny app on a machine hooked up to a LAN. In the directory housing my app, I have the server.R, ui.R, and launcher.R scripts. The launcher.R file looks like:

#!/usr/bin/Rscript
library(shiny)
setwd("~/path/to/shinyApp/")
shiny::runApp(host="0.0.0.0",port=4414)

When I run this via RStudio, the app launches, behaves normally, and can be accessed by other machines through the LAN by going to 987.65.43.21:4414 in a browser. When I run the app with launch.browser=T, the address reads 127.0.0.1:4414.

I want to be able to run the launcher and host the app without RStudio running. When I try running the launcher code via command line, the app gives the usual messages

Loading required package: methods
Listening on http://0.0.0.0:4414

but I cannot access the app through a LAN browser. If I navigate to the 127.0.0.1:4414 on the host machine, I can access it, but not via the machine's IP on another machine like I could when running RStudio.

Does anyone have any insight on what could be going on? Thanks!

回答1:

Install shiny-server from here this will allow you to access your shiny apps from your LAN. Just put your shiny files in /srv/shiny-server/myApp and you can access them through xx.xx.xx.xx:3838/myApp/