【发布时间】:2014-10-11 18:03:15
【问题描述】:
我已经在 Ubuntu 服务器上安装了 OpenCPU - Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64) - 一切运行良好,没有任何问题。 在这里,我想说我真的很喜欢这个 API,我非常感谢从事它的人们(我认为主要是 Jeroen Ooms)所做的所有努力。 现在我再次安装它,但在另一个提供商托管的另一个服务器上。它也是一个 Ubuntu 服务器 - Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-042stab093.4 x86_64) - 因此我希望它能够像以前一样顺利运行。 但现在我有一个问题。安装并启动服务后,我想通过浏览器检查一切是否正常。 所以我只是打开了http://xxx.xxx.xxx.xxx/ocpu,就像它在我的其他服务器上一样。这次我的浏览器没有显示 OpenCPU API Explorer,而是显示以下消息:
Failed to set rlimit. ENOSYS
In call:
rlimit_wrapper("rlimit_as", hardlim, softlim, pid, verbose)
服务器只有 1GB 的物理内存,所以我认为将“rlimit.as”更改为 1e9 而不是标准的 2e9 可以解决问题(我也尝试了 750000000 和 500000000),但没有任何帮助(当然我重新启动了每次更改后再次服务opencpu)。 我也认为这不是问题,因为我猜当操作使用超过 1 GB 时服务器会使用虚拟内存。 我认为问题与 RAppArmor 有关。所以我尝试禁用它并重新启动opencpu,但问题并没有消失:
$ sudo aa-禁用 usr.bin.r 禁用 /etc/apparmor.d/usr.bin.r。 回溯(最近一次通话最后): 文件“/usr/sbin/aa-disable”,第 30 行,在 tool.cmd_disable() 文件“/usr/lib/python3/dist-packages/apparmor/tools.py”,第 148 行,在 cmd_disable 中 引发 apparmor.AppArmorException(cmd_info[1]) apparmor.common.AppArmorException: '警告:无法在 /proc/mounts 中找到合适的 fs,是否已安装?\n使用 --subdomainfs 覆盖。\n'
那么有谁知道这里的问题可能是什么,或者有什么建议可以在哪里寻找解决方案(我已经尝试 google,但没有发现任何有用的信息)?
我认为以下任何原因都不是问题的原因,但由于我不确定,我还是添加了这些警告:
我在安装 OpenCPU 的过程中遇到的唯一奇怪的事情就是这个消息(出现了 4 次):
iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
但后来却说:
* Reloading nginx configuration nginx [ OK ]
OK
Setting up opencpu (1.4.4-trusty15) ...
另外,当我尝试单独安装 RAppArmor 时,我收到以下警告:
perl: 警告:请检查您的语言环境设置: 语言=(未设置), LC_ALL =(未设置), LC_CTYPE = "UTF-8", LANG =(未设置) 支持并安装在您的系统上。 perl:警告:回退到标准语言环境(“C”)。 语言环境:无法将 LC_CTYPE 设置为默认语言环境:没有这样的文件或目录 语言环境:无法将 LC_ALL 设置为默认语言环境:没有这样的文件或目录 选择以前未选择的包 r-cran-rapparmor。
还有这个:
警告:在 /proc/mounts 中找不到合适的 fs,是否已安装?\n使用 --subdomainfs 覆盖。\n
提前致谢!
【问题讨论】: