找回密码
 注册
查看: 2420|回复: 1

R语言服务器RApache搭建 -转

[复制链接]
发表于 2013-4-22 20:28:59 | 显示全部楼层 |阅读模式
本帖最后由 genechip 于 2013-4-22 20:30 编辑

因公司需要,搭建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');

}

1.png


然后我们在命令行输入R,这样就进入R界面了,RApache虽然可以处理单个R文件,但是我这里还是像opencpu一样,把R语言打包。

进入R界面后,执行以下函数:


package.skeleton(name=包名 code_files=要打包的文件名)

我这里输入的是
package.skeleton(name='test', code_files='test.R')

2.png



执行成功后,会生成一个test目录,进入目录,里面有一些生成的文件和文件夹,

3.png


我们主要要操作的就是DESCRIPTION,NAMESPACE,还man目录下面的test.Rd

4.png


我们先进入man目录下面,除了test_fn.Rd,其它全部删除。
先看下怎么改DESCRIPTION

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


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

主要是下面这个:

Collate:


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

Collate:
    'test.R'

5.png



接下来我们改NAMESPACE

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

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

6.png


然后还有一个地方要改

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

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



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

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

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


R CMD build .(注意大小写)

成功后会生成一个压缩文件,test_1.0.tar.gz

8.png


然后执行

R CMD checktest_1.0.tar.gz

如果会出现以下信息(我在桌面版的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 test_1.0.tar.gz

9.png


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

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


<IfModule mod_R.c>

       <Location /RTest>

            SetHandler r-handler

            RHandler test::test_fn

        </Location>

</IfModule>

加入成功,启动apache

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

输入http://localhost/RTest

如果出现了

[1] "Hello World"几个字,就说明你的RApache已经搭建成功了。
下面再给出相关RApache搭建,配置的链接

链接一http://biostat.mc.vanderbilt.edu/rapache/manual.html#top
链接二http://blog.valugi.ro/2011/03/30 ... n-ubuntu-10-04-lts/

转自:http://blog.csdn.net/bbjbepzz/article/details/8168121
回复

使用道具 举报

发表于 2013-6-13 06:23:33 | 显示全部楼层
也可以參考 RStudio server 版
http://www.rstudio.com/ide/screenshots/
安裝還蠻簡單的,裝好後給個帳號,遠端使用瀏覽器登入就可以使用
我裝在server上,本以為電腦配備好會跑比較快
結果跟在自己電腦上跑差不多阿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 13:05 , Processed in 0.027399 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表