gpt4 book ai didi

r - 如何配置 FastRWeb 使用 RServer 内置 web 服务器

转载 作者:行者123 更新时间:2023-12-04 23:24:03 30 4
gpt4 key购买 nike

我是 RServe(和 FastRWeb)的新手。我安装了 RServe 1.7.0,因为我想使用它的内置网络服务器。因为我已经在这台机器上运行了 apache,所以我想在自定义端口上运行 RServe/FastRWeb。

我做了 cd /usr/local/lib/R/site-library/FastRWeb;sudo ./install.sh ,它创建了/var/FastRWeb/目录树。

我没有看到任何提到端口的配置文件。默认的/var/FastRWeb/code/rserve.conf 如下所示:

socket /var/FastRWeb/socket
sockmod 0666
source /var/FastRWeb/code/rserve.R
control enable

我猜这意味着它默认使用 unix 套接字?所以我认为我的问题是我究竟需要放入(和删除)该文件以使其在 TCP 端口 8888 上监听?还有什么我需要做的吗? (我希望能够从其他机器连接,而不仅仅是本地主机。)

可能相关,我是否看过/var/FastRWeb/web/index.html 并且它包含将连接到 /cgi-bin/R/ 的 javascript该路径是特定于使用 Apache 时的,还是原样使用 RServe 时可以正常使用的?

最佳答案

Rserve 1.7.0 release announcement中有关于设置端口的说明.因此,在 rserve.conf 的顶部,我添加了这一行:http.port 8888然后我用了 start脚本(以 root 身份),以启动它。

这让我像现在一样走了一半 http://127.0.0.1:8888/有效,但给了我一个页面,上面写着:

Error in try(.http.request("/", NULL, NULL, c(48, 6f, 73, 74, 3a, 20,  : 
could not find function ".http.request"

解决方案的后半部分是将其添加到/var/FastRWeb/code/rserve.R 的顶部:
library(FastRWeb)
.http.request <- FastRWeb:::.http.request

然后开始运行 /var/FastRWeb/code/start .没有默认处理程序,因此您可以使用 http://127.0.0.1:8888/info 对其进行测试。 .或者更有趣的例子是 http://127.0.0.1:8888/example1.png (查看图表)或 http://127.0.0.1:8888/example2 (查看 html 和图表的混合)

注意:我没有删除或编辑任何其他配置来使其正常工作。这意味着我们也有 unix socket 监听。如果不需要,请从 Rserve.conf 文件中删除这两行。

如果您希望它监听所有 IP 地址,而不仅仅是 localhost,则添加 remote enable到您的 Rserve.conf 文件。 注意:在向全世界开放服务器之前,请确保您了解安全后果。

因此,在这两个更改之后,我的 /var/FastRWeb/code/Rserve.conf文件看起来像:
http.port 8888
remote enable
source /var/FastRWeb/code/rserve.R
control enable

关于r - 如何配置 FastRWeb 使用 RServer 内置 web 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16374299/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com