如何在云服务器部署R plumber Api
-
我打算在云服务器部署一个plumber api,来把R的功能用url的形式计算出来。用于前端。
整个过程还是比较费劲的,写个帖子记录下来。
在尝试了自己在CentOS上装R并且安装plumber的过程,我觉得太费劲了,安装plumber一直报错。于是,我决定回到docker的怀抱。
参考plumber官方的这篇文章 https://www.rplumber.io/articles/hosting.html
docker pull rstudio/plumber docker run --rm -p 8000:8000 rstudio/plumber
成功安装了plumber的image并且成功运行,运行后在浏览器http://49.234.103.189:8000/docs/可以看到plumber的documentation。因为这里我没有用我自己的R文件,所以出现的是image里面默认的一个api的界面。
然后我自己做了一个plumber的R文件,放到了云服务器的目录my_path下,假设自己plumber文件的文件名是api.R,运行下列代码
cd my_path docker run --rm --name new_plumber -p 8000:8000 -v `pwd`/api.R:/plumber.R -d rstudio/plumber /plumber.R
需要注意的是所有需要安装的包都需要写在这个R script前面。例如
install.packages("tvm") library(tvm) # 自己的代码