因公司需要,搭建R语言服务器,整了一段时间,终于整出来了,写一下心得,给大家分享一下。
R语言好像不能处理HTTP请求,但是有国外的一些人写了一个Apache的扩展,使R语言可以像PHP一样,处理请求,响应数据等。
首先我们去网上下载R语言的Apache扩展,我已经下载好了,给大家一个链接。R Apache扩展下载地址
我安装RApache扩展的环境是ubuntu server版,64位
如果大家没有安装R语言开发环境的话,先安装R语言的开发环境
apt-get install r-base-core
安装RApache依赖的一些库
apt-get install r-base-dev apache2-mpm-prefork apache2-prefork-dev
apt-get install libapreq2
apt-get install libtool
然后大家把上面下载的RApache扩展解压,进入到jeffreyhorner-rapache-7b988ac目录下,
然后执行./configure
make
make install
安装成功后,我们可以在 /usr/lib/apache2/modules/目录下看到一个mod_R.so文件,这个就是R语言的Apache扩展。
到这里已经成功一半了,接下来就是Apache的配置问题了
打开Apache下面的httpd.conf,加上下面这句配置
LoadModule R_module /usr/lib/apache2/modules/mod_R.so
接下来就是写R文件了,我们随便在一个目录下建立一个R文件,我这里叫test.R,里面写一个方法叫test_fn(这个可以随便写).
test_fn<-function(){
print('Hello World');
}
然后我们在命令行输入R,这样就进入R界面了,RApache虽然可以处理单个R文件,但是我这里还是像opencpu一样,把R语言打包。
进入R界面后,执行以下函数:
package.skeleton(name=包名 code_files=要打包的文件名)
我这里输入的是package.skeleton(name='test', code_files='test.R')
执行成