2014-11-03 48 views
3

我已經在CentOS6上成功構建並安裝了OpenCPU和RStudio服務器。一切都按預期工作,並且我的本地R包得到了成功的GET/POST響應。如何在CentOS6上啓動/停止/刷新OpenCPU?

一對夫婦的事情,似乎並不不過工作:

  • 我找不出一個乾淨的方式來啓動/停止/沖洗OpenCPU。我目前正在使用apachectl restart,但我甚至不確定是否按預期重新加載了R軟件包。我在/usr/lib/opencpu/scripts上試過了Jeroen的bash腳本,但他們似乎需要對CentOS進行相當多的調整。
  • (可能與以上)我使用load()readRDS()/etc/opencpu/Renviron文件(也試過在/etc/opencpu/Rprofile)持久性數據集加載到全球環境 - 但是,這似乎並沒有工作。我沒有收到任何錯誤日誌,但這些對象在隨後的請求中不可用。
  • 在Ubuntu上OpenCPU似乎配置爲在用戶下運行。在CentOS6上安裝後似乎在root下運行。我想修改它,但不知道如何。

想知道是否有人在CentOS6上成功配置OpenCPU。

非常感謝, - 梅爾。

回答

2

一些答案

  • 運行sudo apachectl restart將做重新啓動。目前沒有針對rpm包含opencpu的特殊init或systemd腳本,但基本上所有在ubuntu上運行的腳本都是重新啓動apache並向終端輸出一些消息。

  • REnviron文件僅適用於環境變量。您需要使用RProfile作爲自定義代碼。另見help。也許它不會在正確的環境中加載。試試:load(file, envir = globalenv(), verbose = TRUE)

  • 請注意,推薦的方式來存儲的東西是把它放在一個R包,作爲lazyload數據或sysdata.rda(見writing R extensions)。然後,您可以在啓動時加載或附加軟件包,或者更好:從包含應用程序或R函數的包中正式導入數據集。

  • Afaik,centos以用戶身份運行httpd請求apache?什麼讓你認爲opencpu以root身份運行?這當然不是這個意圖。在CentOS上,您有時需要使用SELinux httpd標誌來使您的應用程序正常工作,另請參閱rpm readme

rpm包比debian更新一些,測試也更少,所以如果你有問題或建議,請在github上打開一個問題。

+0

謝謝,這說明了一切。我按照建議構建並加載了一個單獨的數據包,這比編輯'Rprofile'中的自定義指令更有效率。 我被OpenCPU作爲根運行困惑(我有一個httpd進程作爲根運行,但事實證明不相關)。 有關使用OpenCPU配置持久變量和數據集的文檔有點分散,花了我一段時間才找到最佳方法。在OpenCPU服務器手冊中添加一節可能會很有用。 – mbacou 2014-11-03 10:28:41

+0

是的,我知道我在文檔方面很糟糕。也許可以啓動一個wiki,以便人們幫助創建一些手冊。 – Jeroen 2014-11-03 19:01:53

+0

您是否找到在CentOS6上配置opencpu來運行用戶庫的方法:server.com/ocpu/user/ /library?這似乎工作時,用戶=阿帕奇,但沒有其他。 – user338714 2015-02-03 17:04:23