Nginx Unit + Ruby from rvm.io

Igor Sysoev igor на sysoev.ru
Вт Июл 17 12:11:49 UTC 2018


> On 17 Jul 2018, at 14:21, Reborns <nginx-forum at forum.nginx.org> wrote:
> 
> Приветствую. 
> Суть вопроса ... можно ли как то использовать юнит если руби стоит не из APT
> ? Тоесть в системе есть ruby  и  rack .и все это работает на nginx +
> passenger .. но как обяснить юниту что бы  смотрел не в /usr/lib/ruby а  в 
> /usr/local/rvm/gems/ruby-2.4.1 итп. итд.
> 
> для passenger а например в конфиге nginx а есть настройки типа...
> 
>        passenger_root /usr/local/rvm/gems/ruby-2.4.1/gems/passenger-5.3.3;
>        passenger_ruby /usr/local/rvm/gems/ruby-2.4.1/wrappers/ruby;
>        passenger_env_var PATH
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;
> 
> 
> Хочу отказаться от пассенджера в пользу юнита , но при условии что руби
> будет ставиться не из пакетов а через RVM .. 

Для этого придётся собрать unit из исходников с нужными параметрами, например, так:
./configure --prefix=/usr/local/

Возможные параметры можно посмотреть так:
./configure --help

Какие параметры используются в уже собранном unitd, можно узнать так:
/path/to/unitd --help

После этого нужно сконфигурировать модуль ruby:
./configure ruby --ruby=/usr/local/rvm/gems/ruby-2.4.1/bin/ruby

Потом собрать и установить:
make
sudo make install

Итак, всё вместе:
./configure --prefix=/usr/local/
./configure ruby --ruby=/usr/local/rvm/gems/ruby-2.4.1/bin/ruby
make
sudo make install


-- 
Igor Sysoev
http://nginx.com



Подробная информация о списке рассылки nginx-ru