shiny 部署本地局域网

2019-09-14  本文已影响0人  上校的猫

实验组内部共享的话,局域网就可以了。构建好app目录,当然还有其他方法,详见http://shiny.rstudio.com/articles/app-formats.html

.
├── app_run.R
└── app1
    ├── server.R
    └── ui.R

## app_run.R
library(shiny)
runApp(appDir = "appdir/app1", 
       port = 3333,
       launch.browser = False, 
       host = "0.0.0.0"
       )

关键在于app_run.R里的runApp函数的几个参数,appDir为app文件夹路径,port为主机要开放的端口,launch.browser 运行时是否启动浏览器。host要设置为 "0.0.0.0",其他机器才能访问。

开启端口

我的主机时Centos7 系统,开启端口的方法如下:

sudo firewall-cmd --query-port=3333/tcp
sudo firewall-cmd --add-port=3333/tcp --permanent
# permanent 表示永久开启,不然重启会失效
firewall-cmd --reload
firewall-cmd --permanent --remove-port=3333/tcp

开启服务

最后运行下面代码就开启了主机服务

Rscript app_run.R

假如主机的ip为123.123.123.123,则局域网内的其他人访问 123.123.123.123:3333 ,就能使用shiny app 了。

上一篇 下一篇

猜你喜欢

热点阅读