Quel serait un répertoire raisonnable et logique dans lequel déployer mes applications Rails de production sur un système Linux?
Quelques candidats ...
/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.
Quelle est la chose la moins étonnante et la plus normale à faire ici?
(Informations générales - une application Rails est un tas de code côté serveur écrit en Ruby avec un public
répertoire contenant JavaScript, CSS et peut-être un peu de HTML. Le public
répertoire est mappé sur un vhost Apache. Apache gère le code Ruby via un module appelé Passager ou mod_rails
.)
Merci pour l'aide tous. Je pense que je vais y aller /opt/deployed_rails_apps
. (J'aime les noms de répertoire longs et expositifs, et la complétion des onglets.) /var/...
Est également un bon endroit, mais j'ai été sévèrement grommelé par l'informatique lorsque j'ai essayé de déployer des choses là-bas. Si c'était ma propre machine, j'irais avec /var
ou /srv
.
Réponses:
Je pense que / opt serait l'endroit idéal pour une application comme celle-ci. Je suis d'accord pour suivre le FHS comme suggéré par chmeee, mais je ne suis pas d'accord qu'une application Rails soit un service en soi.
la source
Sur les distributions CentOS Linux (et par la suite RedHat), lorsque vous installez le package httpd (pour Apache 2), il crée
/var/www
et attend que vos vhosts pointent vers votre contenu Web ici. Le vhost par défaut est généralement vidé/var/www/htdocs
, et les sites / applications suivants doivent être ajoutés/var/www/sitename
.L'emplacement réel ne devrait pas beaucoup d' importance, mais il est fréquent de voir
/opt/www/sitename
,/var/www/sitename
ou tout simplement/opt/www
ou/var/www
.Vous avez déjà indiqué quelques-unes des raisons pour lesquelles certains autres emplacements (comme
/home
) ne sont pas vraiment adaptés à cela.Personnellement, je préfère
/var/www/sitename
car il est compatible avec Apache et Rails et est à l'échelle du système.la source
Vous pouvez suivre la norme de hiérarchie du système de fichiers (FHS) et la placer dans
MODIFIER:
Je ne le placerais pas dans
/opt
:Son but dit:
Je ne pense pas qu'une application développée soit un «progiciel».
La raison d' être
/srv
est -Je comprends qu'une application rails est un script cgi et doit être placée dans
/srv
.la source
/srv
semble être le répertoire le plus approprié pour moi. J'utilise/srv/rails/application_name
.Je les mets généralement dans / opt / app_name.
la source
Dans un système basé sur Debian / Ubuntu, ces applications sont généralement installées dans le dossier / usr / share (c'est-à-dire / usr / share / ruby), car ce sont des fichiers non compilés (qui iraient dans / usr / lib). Étant donné que votre application n'est pas une application standard, vous la mettriez probablement dans / usr / local / share pour éviter qu'elle ne soit écrasée par les mises à jour du système.
/ opt est certainement aussi une possibilité ici.
la source
Je garde mes déploiements dedans
/home/www.example.com/application
Les arguments:
La page d'accueil contiendra toutes les parties mobiles d'un site Web unique. Si j'ai plus de sites Web, je saurai où les trouver.
la source