Я уже установил OpenCPU на сервер Ubuntu — 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)
На сервере всего 1 ГБ физической памяти, поэтому я думал, что изменение "rlimit.as" на 1e9 вместо стандартного 2e9 исправит проблему (я также пробовал 750000000 и 500000000), но ничего не помогло (конечно, я перезапустил службу opencpu снова после каждого изменения). Я также думаю, что это не проблема, потому что я предполагаю, что сервер будет использовать виртуальную память, когда операция использует более одного ГБ. Я думаю, что проблема связана с RAppArmor. Поэтому я попытался отключить его и перезапустить opencpu, но проблема не исчезла:
$ sudo aa-disable 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: 'Предупреждение: невозможно найти подходящую fs в /proc/mounts, она смонтирована?\nИспользуйте --subdomainfs для переопределения.\n'
Итак, кто-нибудь знает, в чем здесь может быть проблема, или есть какие-либо предложения, где искать решение (я уже пытался гуглить, но ничего полезного не нашел)?
Я не думаю, что что-либо из следующего является причиной проблемы, но, поскольку я не уверен, я все равно добавляю эти предупреждения:
Единственной странной вещью, с которой я столкнулся во время установки 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: предупреждение: Пожалуйста, убедитесь, что ваши настройки локали: LANGUAGE = (не задано), LC_ALL = (не задано), LC_CTYPE = "UTF-8", LANG = (не задано) поддерживаются и установлены в вашей системе. perl: предупреждение: возврат к стандартной локали ("C"). локаль: Невозможно установить LC_CTYPE в качестве локали по умолчанию: Нет такого файла или каталога локаль: Невозможно установить LC_ALL в качестве локали по умолчанию: Нет такого файла или каталога Выбор ранее невыбранного пакета r-cran-rapparmor.
А еще вот этот:
Предупреждение: не удалось найти подходящую fs в /proc/mounts, она смонтирована?\nИспользуйте --subdomainfs для переопределения.\n
Заранее спасибо!