gpt4 book ai didi

r - 哪个用户在 OpenCPU 服务器端运行 R?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:33:26 25 4
gpt4 key购买 nike

我没有使用 opencpu 作为服务器的经验,所以我试图在文档中找到这个问题的答案,但没有找到这个问题的任何答案。尽管如此,就许可和身份验证而言,这对我来说似乎是非常基本的,所以我想这是在某处记录的,但我只是没有找到它....我的问题是关于运行对 OpenCPU 服务器的请求时的用户和权限。我写了一个 R 包,我想使用 OpenCPU 服务器托管它。到目前为止,我成功地安装了 OpenCPU 服务器,没有任何问题,并且它适用于我的 R 包中的大多数功能。然而,一个函数使用 Sys.getenv('USERNAME') 来确定运行代码的用户。但是当客户端请求触发 R 代码时,我不知道如何找出用户。

最小示例:假设我的 R 程序包中包含一个名为“MyRPkg”的函数“myFun”,例如:

MyRPkg/R/myFun.R:

myFun(v){
return(Sys.getenv('USERNAME'))
}

当我安装包(在“根”R 库中)并运行我的 OpenCPU 服务器时,我可以访问该包并通过 POST 请求调用此函数,例如:

SERVERNAME/ocpu/library/MyRPkg/R/myFun/json

并得到一个空字符串作为答案。

[""]

我如何根据哪个用户“运行”R 代码来确定服务器端发生了什么,是否可以配置它?我最初的想法是用户应该是“data-www”,这是我系统上的默认 Apache 设置。不知道用户设置在哪一层,Apache、rApache 还是 opencpu,但我猜它应该可以在 OpenCPU 级别配置?

服务器运行的系统或多或少是一个 Linux Ubuntu 服务器。

最佳答案

OpenCPU 系统运行在系统默认的 Apache2 服务器之上。哪个 uid 用于运行 apache2 守护程序是在您的系统上配置的。在 Debian/Ubuntu 上默认为 www-data。您可能可以在某处覆盖它。

关于r - 哪个用户在 OpenCPU 服务器端运行 R?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53744789/

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