Qual seria um diretório lógico e razoável para implantar meus aplicativos Rails de produção em um sistema Linux?
Alguns candidatos ...
/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.
Qual é a coisa menos surpreendente e mais normal a se fazer aqui?
(Informações de segundo plano - um aplicativo Rails é um monte de código do lado do servidor escrito em Ruby, juntamente com um public
diretório que contém JavaScript, CSS e talvez um pouco de HTML. O public
diretório é mapeado para um Apache vhost. O Apache lida com o código Ruby através de um módulo chamado Passageiro ou mod_rails
.)
Obrigado pela ajuda, tudo. Eu acho que vou com /opt/deployed_rails_apps
. (Gosto de nomes de diretório longos e expositivos e do preenchimento de guias.) /var/...
Também é um bom lugar, mas fiquei com uma reclamação severa quando tentei implantar coisas lá. Se fosse minha própria máquina, eu poderia ir com /var
ou /srv
.
fonte
Respostas:
Eu acho que / opt seria o lugar para um aplicativo como este. Concordo em seguir a ESF, conforme sugerido por chmeee, mas não concordo que um aplicativo Rails seja um serviço em si.
fonte
Nas distribuições do CentOS Linux (e posteriormente no RedHat), quando você instala o pacote httpd (para Apache 2), ele cria
/var/www
e espera que seus vhosts apontem para o seu conteúdo da web aqui. O vhost padrão normalmente é despejado/var/www/htdocs
e sites / aplicativos subsequentes devem ser colocados/var/www/sitename
.A localização real não importa muito, mas é comum ver
/opt/www/sitename
,/var/www/sitename
ou, simplesmente,/opt/www
ou/var/www
.Você já declarou algumas das razões pelas quais alguns dos outros locais (como
/home
) não são realmente adequados para isso.Pessoalmente, prefiro,
/var/www/sitename
pois é amigável ao Apache e ao Rails, e é de todo o sistema.fonte
Convém seguir o FHS (Filesystem Hierarchy Standard) e colocá-lo em
EDITAR:
Eu não o colocaria em
/opt
:Seu propósito diz:
Não acho que um aplicativo desenvolvido seja um 'pacote de software'.
A justificativa para
/srv
éEu entendo que um aplicativo rails é um script cgi e deve ser inserido
/srv
.fonte
/srv
parece ser o diretório mais adequado para mim. Estou usando/srv/rails/application_name
.Eu geralmente os coloco em / opt / app_name.
fonte
No sistema baseado no debian / ubuntu, esses aplicativos geralmente são instalados na pasta / usr / share (por exemplo, / usr / share / ruby), uma vez que são arquivos não compilados (que entrariam em / usr / lib). Como seu aplicativo não é um aplicativo padrão, você provavelmente o colocaria em / usr / local / share, evitando que ele seja sobrescrito por qualquer atualização do sistema.
/ opt é certamente também uma possibilidade aqui.
fonte
Eu mantenho minhas implantações em
/home/www.example.com/application
Os argumentos:
O Home conterá todas as partes móveis de um único site. Se eu tiver mais sites, saberei onde encontrá-los.
fonte