美文网首页
shiny 部署本地局域网

shiny 部署本地局域网

作者: 上校的猫 | 来源:发表于2019-09-14 14:36 被阅读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 系统,开启端口的方法如下:

    • 查询端口是否开启 ,例如我想用 3333,
    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 了。

    相关文章

      网友评论

          本文标题:shiny 部署本地局域网

          本文链接:https://www.haomeiwen.com/subject/jmzsyctx.html