问题
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/
来源:https://stackoverflow.com/questions/34163558/hosting-lan-shiny-apps-run-from-command-line