我們可以在本地用 Shiny 部署非常漂亮的應(yīng)用,當我們需要把可視化的內(nèi)容共享給別人時,就需要一臺部署了 Shiny Server 的服務(wù)器。
這時候我們有兩種方案:
- Shiny Server
- Shinyapps.io
Shinyapp.io 是 R Studio 為 Shiny 進行網(wǎng)絡(luò)部署而設(shè)計的。用戶如果使用免費方案可以最多部署5個 Shiny 應(yīng)用,各種方案的特點如下:
不過如果手頭上正好有一臺可用的服務(wù)器時,我們就可以自己在服務(wù)器上部署好 Shiny Server 環(huán)境,呈現(xiàn)自己開發(fā)的 Shiny 了。
R Studio 提供了兩種版本的 Shiny Server :
當然專業(yè)版還是要收費的,最基本的服務(wù)每年要9995刀,支持20個用戶同時操作。
Shiny Server 的下載說明在這里,目前 Shiny Server 只支持64位的Linux服務(wù)器,所以大家在選購或者租服務(wù)器之后要注意安裝正確的操作系統(tǒng)。
以我用的 Ubuntu 14 為例:
第一步是要在服務(wù)器上先安裝好 R 和 Shiny ,首先要在/etc/apt/sources.list里添加 CRAN 的鏡像鏈接,或者直接敲下面的命令之一:
deb https://<my.favorite.cran.mirror>/bin/linux/ubuntu wily/
deb https://<my.favorite.cran.mirror>/bin/linux/ubuntu vivid/
deb https://<my.favorite.cran.mirror>/bin/linux/ubuntu trusty/
deb https://<my.favorite.cran.mirror>/bin/linux/ubuntu precise/
cran.mirror可以到這里挑選一個。
然后就可以愉快的安裝 R 了:
sudo apt-get update
sudo apt-get install r-base
接著是 Shiny :
$ sudo su - \
-c "R -e \"install.packages('shiny', repos='https://cran.rstudio.com/')\""
第一步完成之后還沒法直接安裝 Shiny Server ,還要再折騰著安裝一下 gdebi ,因為 Shiny Server 是用 deb 文件發(fā)布的:
sudo apt-get install gdebi-core
$ wget https://download3.rstudio.org/ubuntu-12.04/x86_64/shiny-server-1.4.2.786-amd64.deb
$ sudo gdebi shiny-server-1.4.2.786-amd64.deb
注意這里12.04的意思并不是只適用于ubutntu 12.04版本,而是向下兼容。
到此位置 Shiny Server 就安裝好了,默認安裝在/opt/shiny-server/,執(zhí)行文件在/opt/shiny-server/bin/shiny-server,默認端口是3838。
端口號可以通過路由器做端口映射或者修改 Shiny Server 的配置文件,比如我就改成了中國人特別喜歡的8888。好,下面看一下運行的效果。
<Your Server URL>:8888的呈現(xiàn)結(jié)果是:
我們可以在/opt/shiny-server/samples目錄下為我們自己的應(yīng)用建一個新的目錄,比如apps,這個目錄下既可以直接上傳 Shiny 應(yīng)用,也可以再新建目錄作為子app,比如我的<Your Server URL>:8888/apps/的呈現(xiàn)結(jié)果是:
我在每個子目錄下上傳了寫好的 ui.R 和 server.R 文件,比如打開最后一個 3to6_科學 :
最后就可以把這個表格的 URL 分享給別人。