我已经在 CentOS6 上成功构建并安装了 OpenCPU 和 RStudio 服务器。一切都按预期工作,我的本地 R 包确实获得了成功的 GET/POST 响应。
然而,有几件事似乎不起作用:
apachectl restart
但我什至不确定它是否会按预期重新加载 R 包。我在 /usr/lib/opencpu/scripts
尝试了 Jeroen 的 bash 脚本,但它们似乎需要相当多的调整才能在 CentOS 上工作。 load()
文件中使用 readRDS()
和 /etc/opencpu/Renviron
(也在 /etc/opencpu/Rprofile
中尝试过)将持久性数据集加载到全局环境中——但这似乎不起作用。我没有收到任何错误日志,但这些对象在后续请求中不可用。 opencpu
用户下运行。在 CentOS6 上,它似乎在安装后运行在 root
下。我想修改它,但不知道如何修改。 只是想知道是否有人在 CentOS6 上成功配置了 OpenCPU。
非常感谢,--梅尔。
最佳答案
一些答案
sudo apachectl restart
将重新启动。目前,rpm 中没有包含用于 opencpu 的特殊 init 或 systemd 脚本,但基本上所有脚本在 ubuntu 上所做的都是重新启动 apache 并将一些消息打印到终端。 REnviron
文件仅用于环境变量。您需要将 RProfile
用于自定义代码。另见 help 。也许它没有在正确的环境中加载。尝试: load(file, envir = globalenv(), verbose = TRUE)
。 sysdata.rda
(请参阅 writing R extensions )。然后,您可以在启动时加载或附加包,或者更好的是:从包含您的应用程序或 R 函数的包中正式导入数据集。 apache
的身份运行 httpd 请求?是什么让您认为 opencpu 以 root 身份运行?这当然不是本意。在 CentOS 上,您有时需要使用 SELinux httpd 标志来让您的应用程序工作,另请参阅 rpm readme 。 rpm 包比 debian 包更新一些,测试较少,所以如果你有问题或建议,请在 github 上打开一个问题。
关于r - 如何在 CentOS6 上启动/停止/刷新 OpenCPU?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26706178/