我們可以在本地用 Shiny 部署非常漂亮的應(yīng)用,當(dāng)我們需要把可視化的內(nèi)容共享給別人時(shí),就需要一臺(tái)部署了 Shiny Server 的服務(wù)器。
這時(shí)候我們有兩種方案:
- Shiny Server
- Shinyapps.io
Shinyapp.io 是 R Studio 為 Shiny 進(jìn)行網(wǎng)絡(luò)部署而設(shè)計(jì)的。用戶如果使用免費(fèi)方案可以最多部署5個(gè) Shiny 應(yīng)用,各種方案的特點(diǎn)如下:

不過如果手頭上正好有一臺(tái)可用的服務(wù)器時(shí),我們就可以自己在服務(wù)器上部署好 Shiny Server 環(huán)境,呈現(xiàn)自己開發(fā)的 Shiny 了。
R Studio 提供了兩種版本的 Shiny Server :

當(dāng)然專業(yè)版還是要收費(fèi)的,最基本的服務(wù)每年要9995刀,支持20個(gè)用戶同時(shí)操作。
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可以到這里挑選一個(gè)。
然后就可以愉快的安裝 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 ,因?yàn)?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 就安裝好了,默認(rèn)安裝在/opt/shiny-server/
,執(zhí)行文件在/opt/shiny-server/bin/shiny-server
,默認(rèn)端口是3838
。
端口號(hào)可以通過路由器做端口映射或者修改 Shiny Server 的配置文件,比如我就改成了中國人特別喜歡的8888
。好,下面看一下運(yùn)行的效果。
<Your Server URL>:8888
的呈現(xiàn)結(jié)果是:

我們可以在/opt/shiny-server/samples
目錄下為我們自己的應(yīng)用建一個(gè)新的目錄,比如apps
,這個(gè)目錄下既可以直接上傳 Shiny 應(yīng)用,也可以再新建目錄作為子app,比如我的<Your Server URL>:8888/apps/
的呈現(xiàn)結(jié)果是:

我在每個(gè)子目錄下上傳了寫好的 ui.R 和 server.R 文件,比如打開最后一個(gè) 3to6_科學(xué) :

最后就可以把這個(gè)表格的 URL 分享給別人。