Предисловие: Я не являюсь текущим пассажиром. Поэтому следующие вещи - это только мысли и воспоминания.
Во-первых: Если я правильно помню, то только основной процесс nginx определенно запускается от имени root, но дочерние процессы запускаются под идентификатором пользователя / группы, который вы можете настроить в конфигурации nginx. (И вы должны сделать это, если вы заботитесь о безопасности!)
Не знаю, повлияет ли это на пассажирский мод - скажем, так и должно быть, потому что основной процесс заключается только в расширении рабочих процессов, которые будут выполнять реальную работу. Также не могу сказать, работает ли вспомогательный процесс для пассажира с теми же правами пользователя, что и рабочий. (Следует по той же причине, что и в первом абзаце.)
Существует настройка passenger_default_user
, которую вы должны использовать в nginx. Это должно избежать проблем вашего пользователя.
Во-вторых попробуйте советы под https://rvm.beginrescueend.com/integration/passenger/
Они могут быть полезны, особенно в случае установки пользователем RVM.
Пожалуйста, прочитайте детали Примечания , Устранение неисправностей и Часто задаваемые вопросы внимательно!
И мой третий пункт: я бы предпочел системную установку RVM в производственной системе. Таким образом, у вас есть возможность создавать различные настройки для разных пользователей (системы / службы) без проблем с пользовательскими областями.
И последнее, но не менее важное: В прошлом у меня не было такого хорошего опыта с настройкой RVM-passenger-nginx. Кроме того, я не дружу с перегруженными веб-серверами / балансировщиками нагрузки и поэтому никогда больше не буду использовать пассажирский модуль nginx. Храните вещи, которые ему не принадлежат.
Alos помните, что мод passenger-nginx убивает возможность использовать разные версии с рубинами и рубинами с nginx + passenger. Сказал бы, что в этом случае имеет меньше смысла использовать RVM. Я предпочитаю использовать nginx только в качестве прокси и позволять делать работу веб-сервера единорогом / thin / what-else.
Заключение
Я бы сказал, это не проблема с пользователем root. Я думаю, что-то в вашей настройке отсутствует или неправильно настроено.
Чтобы ответить на ваши последние вопросы: Нет, я думаю, что нет необходимости устанавливать систему rvm, и да, должна быть возможность запуска пассажиров в nginx с правильным (пользовательским) rvm.