Shiny 是一个开源的 R 包,它为使用 R 构建 Web 应用提供了一个优雅有力的 Web 框架。Shiny 帮助你在不需要前端知识的条件下将数据分析转变为可交互的 Web 应用。将shiny部署到云服务器上需要事先在服务器上安装shiny-server。之前已经安装过一次,不过安装了wordpress之后导致配置好的shiny-server无法正常使用(应该是nginx的设置问题),为省时间就重置系统并再次安装了shiny-server,并记录了一些关键的信息。(关于服务器和域名,阿里和腾讯的都很便宜,练手不错,正式使用的话备案很麻烦,另一种替代方案是亚马逊+godaddy不过要贵不少)
登录到阿里云服务器后选择Ubuntu的镜像的默认版本重置,连上console之后就可以开始配置shiny-server了,以下是几个步骤,部分来源于shiny-server官方教程。
配置
👉更新apt-get列表
sudo apt-get update
这里顺便安装以下几个内容方便之后R包的安装和使用
sudo apt-get install mlocate #[shiny显示中文设置需要locate命令]
sudo apt-get install libgdal-dev #[安装terra需要]
sudo apt-get install libudunits2-dev #[安装sf需要]
👉安装R
sudo apt-get install r-base
👉使用cmd安装R的shiny包,可以顺便装一下rmarkdown。
sudo su - \
-c "R -e \"install.packages('shiny', repos='https://cran.rstudio.com/')\""
R的其他包都可以安装这个方式安装(如果在R中总是安装失败的话,可以尝试该种方式)
👉安装gdebi
sudo apt-get install gdebi-core
👉下载shiny-server的deb包
wget https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.16.958-amd64.deb
👉安装shiny-server
sudo gdebi shiny-server-1.5.16.958-amd64.deb
👉在服务器上添加3838端口
服务器公网ip:3838之后看到下面页面就说明配置完成
最后,配置好后建立一个系统快照,这样重置应该就不需要重头开始了
常用的命令和位置
启动/停止/重启
sudo systemctl start shiny-server
sudo systemctl stop shiny-server
sudo systemctl restart shiny-server
查看状态
sudo systemctl status shiny-server
重启但不停止当前进程
sudo systemctl kill -s HUP --kill-who=main shiny-server
是否需要随系统启动
sudo systemctl enable shiny-server
sudo systemctl disable shiny-server
配置文件在:
/etc/shiny-server/shiny-server.conf
log文件默认在:
/var/log/shiny-server
app文件默认在:
/srv/shiny-server