Какой разумный и логичный каталог для развертывания моих производственных приложений Rails в системе Linux?
Некоторые кандидаты ...
/var/rails <= There's a /var/www so this would be consistent with that
pattern. But I.T. guys have complained about stuff in /var
before.
/home/my_home_dir/rails <= OK, not /var, but I'm not the only developer.
Seems like it really ought to be a systemwide
location.
/home/rails <= I don't know. That just seems weird.
/rails <= Seems even weirder.
Что самое удивительное, самое обычное, что можно сделать здесь?
(Справочная информация - приложение Rails представляет собой набор серверного кода, написанного на Ruby вместе с директорией, public
содержащей JavaScript, CSS и, возможно, небольшой HTML. Директория public
отображается на Apache vhost. Apache обрабатывает код Ruby через модуль называется Пассажир или mod_rails
.)
Спасибо за помощь, все. Я думаю, что я пойду с /opt/deployed_rails_apps
. (Мне нравятся длинные, пояснительные имена каталогов и завершение табуляции.) /var/...
Это также хорошее место, но я получил суровое ворчание от ИТ, когда пытался развернуть что-то там. Если бы это была моя собственная машина, я мог бы пойти с /var
или /srv
.
источник
Ответы:
Я думаю, что / opt будет местом для такого приложения . Я согласен с тем, чтобы следовать FHS, как предложено chmeee, но я не согласен с тем, что приложение Rails является сервисом как таковым.
источник
В дистрибутивах CentOS Linux (а затем и в RedHat), когда вы устанавливаете пакет httpd (для Apache 2), он создает
/var/www
и ожидает, что ваши vhosts указывают на ваш веб-контент здесь. Vhost по умолчанию обычно сбрасывается/var/www/htdocs
, и последующие сайты / приложения должны быть вставлены/var/www/sitename
.Фактическое местоположение не имеет значения много, но это часто можно увидеть
/opt/www/sitename
,/var/www/sitename
или просто/opt/www
или/var/www
.Вы уже указали несколько причин, по которым некоторые другие местоположения (например
/home
) не очень подходят для этого.Лично я предпочитаю,
/var/www/sitename
так как он дружественен к Apache и Rails и является общесистемным.источник
Вы можете следовать Стандарту Иерархии Файловой Системы (FHS) и поместить его в
РЕДАКТИРОВАТЬ:
Я бы не стал помещать это в
/opt
:Его цель говорит:
Я не думаю, что разработанное приложение - это «программный пакет».
Обоснование
/srv
ISЯ понимаю, что приложение rails является сценарием cgi и должно быть размещено в
/srv
.источник
/srv
мне кажется, что это самый подходящий каталог. Я использую/srv/rails/application_name
.Я обычно помещаю их в / opt / app_name.
источник
В системе, основанной на Debian / Ubuntu, такие приложения обычно устанавливаются в папку / usr / share (то есть / usr / share / ruby), так как они являются некомпилированными файлами (которые будут помещаться в / usr / lib). Поскольку ваше приложение не является стандартным приложением, вы, вероятно, поместите его в / usr / local / share, чтобы оно не было перезаписано какими-либо обновлениями системы.
/ opt, безусловно, также возможна здесь.
источник
Я держу свои развертывания в
/home/www.example.com/application
Аргументы:
Дом будет содержать все движущиеся части одного сайта. Если у меня будет больше сайтов, я буду знать, где их найти.
источник