R语言服务器 RApache 搭建

红薯 发布于 2012/11/27 10:52
阅读 1K+
收藏 1
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)

执行成功后,会生成一个test目录,进入目录,里面有一些生成的文件和文件夹,我们主要要操作的就是DESCRIPTION,NAMESPACE,还man目录下面的test.Rd
我们先进入man目录下面,除了test.Rd,其它全部删除。

先看下怎么改DESCRIPTION

Package:
Type: Package
Title:
Version:
Date:
Author:
Maintainer:
Description:
License: AGPL

上面大家按照要求写就行了,什么包名,作者的

主要是下面这个:

Collate:

默认生成的DESCRIPTION文件是没有Collate:的,我们手动加进去 ,这个后面写的是要导出的R文件,有多少就写多少,我们的叫test.R,所以我们写

Collate:
    'test.R'

接下来我们改NAMESPACE

这里我们要改的是我们要导出的函数,就是这个函数名可以直接在Apache配置的,就是让一个请求对应一个函数,这个看大家具体需要。

把NAMESPACE里面的内容删除了,如果有的话,然后加上export(test_fn)就行了。

然后还有一个地方要改

进入到man目录下,打开test.Rd

把里面全部删除,当然你要是想写的话,也可以一个一个写进去,我们可以只写下面这些内容

\name{test_fn}
\alias{test_fn}
\title{test_fn}
\usage{
  test_fn()
}
\value{
  some info
}
\description{
  test R Apache is ok
}

随便写点东西进去,是为了接下来打包的时候可以成功,如果不写的,会失败,提示要写。

以上弄完后,接下来开始编译打包了

确保我们当前目录是test目录

R CMD build .(注意大小写)

成功后会生成一个压缩文件

然后执行

R CMD check 压缩文件名

如果会出现以下信息(我在桌面版的ubuntu的时候没有出现,有server版的时候出现了)

* checking PDF version of manual ... WARNING

LaTeX errors when creating PDF version.
就执行以下命令,安装一个东西

apt-get install texlive-latex-base
apt-get install texlive-latex-recommended
apt-get install texlive-latex-extra
apt-get install texlive-fonts-recommended
apt-get install texlive-fonts-extra

安装完成后,再执行上面那个命令。

如果没有问题,就执行

R CMD INSTALL 压缩文件名

安装成功后,我们还要配置一下apache

打开apache下面的httpd.conf,加上以下配置

            SetHandler r-handler
            RHandler test::test_fn

加入成功,启动apache

service apache2 start,如果启动没有问题,就打开浏览器

输入http://localhost/RTest

如果出现了Hello World几个字,就说明你的RApache已经搭建成功了。

下面再给出相关RApache搭建,配置的链接

链接一 链接二

原文出处:bbjbepzz

加载中
返回顶部
顶部