Was wäre ein vernünftiges und logisches Verzeichnis für die Bereitstellung meiner Production Rails-Apps auf einem Linux-System?
Einige Kandidaten ...
/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.
Was ist hier am wenigsten erstaunlich und am normalsten zu tun?
(Hintergrundinformationen - Eine Rails-App besteht aus einer Reihe von serverseitigem Code, der in Ruby zusammen mit einem public
Verzeichnis geschrieben wurde, das JavaScript, CSS und möglicherweise ein wenig HTML enthält. Das public
Verzeichnis ist einem Apache-Host zugeordnet. Apache verwaltet den Ruby-Code über ein Modul genannt Passagier oder mod_rails
.)
Danke für die Hilfe, alle. Ich glaube, ich gehe mit /opt/deployed_rails_apps
. (Ich mag lange Verzeichnisnamen und das Ausfüllen von Registerkarten.) /var/...
Ist auch ein guter Ort, aber die IT hat mich sehr geärgert, als ich versuchte, dort Dinge bereitzustellen. Wenn es meine eigene Maschine wäre, könnte ich mit /var
oder gehen /srv
.
quelle
Antworten:
Ich denke, / opt wäre der richtige Ort für eine solche Anwendung . Ich stimme der von chmeee vorgeschlagenen Befolgung der FHS zu, bin jedoch nicht der Meinung, dass eine Rails-App per se ein Service ist.
quelle
Bei CentOS Linux-Distributionen (und anschließend bei RedHat) wird bei der Installation des httpd-Pakets (für Apache 2) ein
/var/www
Verweis Ihrer vhosts auf Ihren Webinhalt hier erstellt. Der Standard-vhost wird normalerweise gespeichert/var/www/htdocs
, und nachfolgende Sites / Apps sollten gespeichert werden/var/www/sitename
.Die tatsächliche Lage soll nicht viel, aber es ist üblich , um zu sehen
/opt/www/sitename
,/var/www/sitename
oder einfach/opt/www
oder/var/www
.Sie haben bereits einige Gründe genannt, warum einige der anderen Standorte (wie
/home
) nicht wirklich dafür geeignet sind.Ich persönlich bevorzuge es,
/var/www/sitename
da es Apache und Rails freundlich und systemweit ist.quelle
Möglicherweise möchten Sie dem Dateisystem-Hierarchie-Standard (FHS) folgen und ihn einfügen
BEARBEITEN:
Ich würde es nicht platzieren in
/opt
:Ihr Zweck lautet:
Ich glaube nicht, dass eine entwickelte Anwendung ein "Softwarepaket" ist.
Der Grund dafür
/srv
istIch verstehe, dass eine Rails-App ein CGI-Skript ist und in platziert werden sollte
/srv
.quelle
/srv
scheint mir das am besten passende Verzeichnis zu sein. Ich benutze/srv/rails/application_name
.Normalerweise lege ich sie in / opt / app_name.
quelle
In Debian / Ubuntu-basierten Systemen werden solche Anwendungen normalerweise im Ordner / usr / share (dh / usr / share / ruby) installiert, da es sich um nicht kompilierte Dateien handelt (die in / usr / lib abgelegt würden). Da es sich bei Ihrer Anwendung nicht um eine Standardanwendung handelt, würden Sie sie wahrscheinlich in / usr / local / share ablegen, um zu verhindern, dass sie von Systemaktualisierungen überschrieben wird.
/ opt ist sicherlich auch hier eine möglichkeit.
quelle
Ich behalte meine Einsätze bei
/home/www.example.com/application
Die Argumente:
Home enthält alle beweglichen Teile einer einzelnen Website. Wenn ich mehr Websites habe, weiß ich, wo ich sie finden kann.
quelle